Locaiton determination in an indoor space

ABSTRACT

A method for locating a user within an indoor space, the method comprises: receiving by a computer, distance information about distances between multiple wireless tags that are positioned within the indoor space; wherein the distance information is obtained by the multiple wireless tags during a first type of distance estimation process that comprises wirelessly transmitting messages between the multiple wireless tags; determining locations of the wireless tags in the indoor space in response to the distance information and to calibration information indicative of an actual or estimated location of at least one wireless tag in the indoor space; receiving, from a user device, user device location information related to a location of the user device in relation to a sub-set of the wireless tags; determining a location of the user device within the indoor space in response to the user device location information and to locations of the wireless tags of the sub-set of wireless tags in the indoor space.

RELATED APPLICATIONS

This application claims priority from U.S. provisional patent Ser. No.61/729,601 filing date Nov. 25, 2012, U.S. provisional patent Ser. No.61/803,534 filing date Mar. 20, 2013, U.S. provisional patent Ser. No.61/832,872 filing date Jun. 9, 2013, and U.S. provisional patent Ser.No. 61/868,591 filing date Aug. 22, 2013, all being incorporated hereinby reference in their entirety.

FIELD OF THE INVENTION

The invention relates to wireless communication.

BACKGROUND OF THE INVENTION

There is a growing need to track users, user devices, monitor items andfind locations within indoor spaces in an efficient manner. Especiallythere is a geowing need to locate a person within an indoor space.

SUMMARY OF THE INVENTION

According to various embodiments of the invention there are providedvarious methods, systems, wireless tags, wireless readers, andnon-transitory computerized media.

According to an embodiment of the invention there may be provided amethod that may include receiving during a wideband reception period andby a wideband reception circuit of a first wireless transceiver awideband ranging message; transmitting during a wideband transmissionperiod and by a wideband transmission circuit of the first wirelesstransceiver a wideband ranging response message; receiving by anarrowband reception circuit of the first wireless transceiver receivednarrowband messages; and transmitting by a narrowband transmissioncircuit of the first wireless transceiver transmitted narrowbandmessages.

The method may include receiving a received narrowband message that mayinclude an indication about a future transmission of the widebandranging message; and causing the wideband reception circuit to searchfor the wideband ranging message within the wideband reception periodthat is defined in response to the indication.

The method may include closing the wideband reception circuit outsidethe wideband reception period.

The method may include starting wideband reception period after apredetermined delay period lapsed from the receiving of the receivednarrowband message that may include the indication.

The indication may include timing information about timing of thewideband reception period.

The method may include closing the wideband transmission circuit outsidethe wideband transmission period.

The indication may include at least one wideband reception parameterassociated with a reception of the wideband ranging message.

The wideband ranging response message may include timing informationabout a time difference between the receiving of the wideband rangingmessage and the transmitting of the wideband ranging response message.

The wideband ranging message is transmitted by a second wirelesstransceiver and wherein the response message may include timinginformation about an estimated time difference between a transmission ofthe wideband ranging message by the second wireless transceiver and areception of the wideband ranging response message by the secondwireless transceiver.

According to an embodiment of the invention there may be provided anon-transitory computer readable medium may store instructions that whenexecuted by a computer cause the computer to execute the stages ofreceiving during a wideband reception period and by a wideband receptioncircuit of a first wireless transceiver a wideband ranging message;transmitting during a wideband transmission period and by a widebandtransmission circuit of the first wireless transceiver a widebandranging response message; receiving by a narrowband reception circuit ofthe first wireless transceiver received narrowband messages; andtransmitting by a narrowband transmission circuit of the first wirelesstransceiver transmitted narrowband messages.

According to an embodiment of the invention there may be provided awireless tag that may include a wireless transceiver that may include awideband reception circuit, a narrowband reception circuit, a widebandtransmission circuit and a narrowband transmission circuit; wherein thewideband reception circuit may be arranged to receive during a widebandreception period a wideband ranging message; wherein the widebandtransmission circuit may be arranged to transmit during a widebandtransmission period a wideband ranging response message; wherein thenarrowband reception circuit may be arranged to receive narrowbandmessages; and wherein the narrowband transmission circuit may bearranged to transmit transmitted narrowband messages.

The narrowband reception circuit may be arranged to receive a receivednarrowband message that may include an indication about a futuretransmission of the wideband ranging message; and wherein the widebandreception circuit may be arranged to search for the wideband rangingmessage within the wideband reception period that is defined in responseto the indication.

The wireless tag may be arranged to close the wideband reception circuitoutside the wideband reception period.

The wireless tag may be arranged to start the wideband reception periodafter a predetermined delay period lapsed from the receiving of thereceived narrowband message that may include the indication.

The indication may include timing information about timing of thewideband reception period.

The wireless tag may be arranged to close the wideband transmissioncircuit outside the wideband transmission period.

The indication may include at least one wideband reception parameterassociated with a reception of the wideband ranging message.

The wideband ranging response message may include timing informationabout a time difference between the receiving of the wideband rangingmessage and the transmitting of the wideband ranging response message.

The wideband ranging message may be transmitted by a second wirelesstransceiver and wherein the response message may include timinginformation about an estimated time difference between a transmission ofthe wideband ranging message by the second wireless transceiver and areception of the wideband ranging response message by the secondwireless transceiver.

According to an embodiment of the invention there may be provided amethod for determining a location of a wireless tag, the method mayinclude generating or receiving, by a wireless reader, information aboutmultiple distance measurements of distances between the wireless tag andthe wireless reader at different points of time; wherein the wirelessreader is positioned at different locations in relation to the wirelessreader at the different points of time; generating or receiving by thewireless reader information about a spatial relationship between thedifferent locations or receiving information indicative of the spatial;and determining by the wireless reader, the location of the wireless tagin response to the multiple range measurements and the spatialrelationship between the different locations.

The method may include generating by the wireless reader locationinformation about the location of the wireless tag.

The method may include displaying on a display an indication about thelocation of the wireless tag, wherein the displaying is responsive tothe information about the location of the wireless tag and anorientation of the display.

The different points in time may be are included in a time window andwherein the method may include ignoring distance measurements obtainedoutside the time window. The time window may be a sliding time window.

The determining of the location may include assigning different weightsto different distance measurements.

The method may include generating by the wireless reader the informationabout the spatial relationship between the different locations bytracking by one or more sensors a trajectory of the wireless reader.

The method may include providing a rough estimate of a location of theitem based upon a spatial relationship between a subset of the differentlocations.

The range measurements may include an exchange of messages between thewireless tag and the wireless reader; wherein the method may includereceiving or calculating angular information about angles of receptionof at least some of the messages; and wherein the determining by thewireless reader, of the location of the wireless tag is furtherresponsive to the angular information.

The wireless reader may include an antenna array and the wireless readermay be arranged to estimate an angle of arrival of a message receivedfrom the item in response to reception signals obtained by the array ofantennas.

The location of the wireless tag may be a relative location to thewireless reader. The location of the wireless tag may be an absolutelocation of the wireless tag.

According to an embodiment of the invention there may be provided awireless reader that may include a wireless transceiver and a processor;wherein the wireless transceiver may be arranged to exchange wirelessmessages with a wireless tag at different points of time; wherein thewireless reader is positioned at different locations in relation to thewireless reader at the different points of time; wherein the processormay be arranged to (a) process at least some of the wireless messages toprovide multiple distance measurements of distances between the wirelesstag and the wireless reader as existed at the different point of time;(b) generate or receive information about a spatial relationship betweenthe different locations or receiving information indicative of thespatial; and (c) determine by the wireless reader, the location of thewireless tag in response to the multiple range measurements and thespatial relationship between the different locations.

The wireless reader may be arranged to generate location informationabout the location of the wireless tag.

The wireless reader may be arranged to display on a screen an indicationabout the location of the wireless tag, wherein the display isresponsive to the information about the location of the wireless tag andan orientation of the screen.

The different points in time may be included in a time window andwherein the wireless reader may be arranged to ignore distancemeasurements obtained outside the time window.

The time window may be a sliding time window.

The wireless reader may be arranged to determining the location byassigning different weights to different distance measurements.

The wireless reader may include one or more sensors that are arranged totrack a trajectory of the wireless reader.

The wireless reader may be arranged to provide a rough estimate of alocation of the item based upon a spatial relationship between a subsetof the different locations.

The wireless reader may be arranged to exchange of messages with thewireless tag, to receive or calculate angular information about anglesof reception of at least some of the messages; and determine thelocation of the wireless tag in response to the angular information.

The wireless reader may include an antenna array and the wireless readermay be arranged to estimate an angle of arrival of a message receivedfrom the item in response to reception signals obtained by the array ofantennas.

The location of the wireless tag may be relative location to thewireless reader.

The location of the wireless tag may be an absolute location of thewireless tag.

According to an embodiment of the invention there may be provided anon-transitory computer readable medium may store instructions that whenexecuted by a computer cause the computer to execute the stages ofgenerating or receiving information about multiple distance measurementsof distances between the wireless tag and the wireless reader atdifferent points of time; wherein the wireless reader is positioned atdifferent locations in relation to the wireless reader at the differentpoints of time; generating or receiving information about a spatialrelationship between the different locations or receiving informationindicative of the spatial; and determining the location of the wirelesstag in response to the multiple range measurements and the spatialrelationship between the different locations.

According to an embodiment of the invention there may be provided amethod for managing a sphere of wireless tags, may include programming,by a wireless reader, a group of wireless tags to belong to the sphereof wireless tags; sending by the wireless reader sphere beacons aimed tothe wireless tags of the sphere; detecting a loss of a wireless tag ofthe sphere if the wireless tag did not respond to a predetermined numberof sphere beacons; and responding to the detecting of the loss of thewireless tag. A sphere is a group of wireless tags.

The method may include programming each wireless tag of the sphere toincrease a wireless tag reception window for detecting a sphere beaconafter the wireless tag failed to receive a predefined number of spherebeacons.

The method may include programming the wireless tags of the sphere toenter a first operational mode during reception window s that correspondto expected timing of transmission of the sphere beacons and to enter asecond operational mode after responding to the sphere beacons, whereinthe second operational mode is characterized by a lower powerconsumption than the first operational mode.

The method may include calculating or receiving information aboutdistances between the wireless reader and multiple wireless tags; andselecting the wireless tags of the sphere out of the multiple wirelesstags to be within a predetermined distance from the wireless tag.

The method may include programming the wireless tags to belong to thesphere only during predetermined time periods.

The programming may include instructing a wireless tag to transmitwireless tag identification information even without receiving beaconmessages aimed to the wireless tag.

According to an embodiment of the invention there may be provided awireless reader for managing a sphere of wireless tags, may include acontroller may be arranged to program a group of wireless tags to belongto the sphere of wireless tags; a wireless transceiver may be arrangedto send sphere beacons aimed to the wireless tags of the sphere; detecta loss of a wireless tag of the sphere if the wireless tag did notrespond to a predetermined number of sphere beacons; and wherein thewireless reader may be arranged to respond to the detecting of the lossof the wireless tag.

The wireless reader may be arranged to program each wireless tag of thesphere to increase a wireless tag reception window for detecting asphere beacon after the wireless tag failed to receive a predefinednumber of sphere beacons.

The wireless reader may be arranged to program the wireless tags of thesphere to enter a first operational mode during reception windows thatcorrespond to expected timing of transmission of the sphere beacons andto enter a second operational mode after responding to the spherebeacons, wherein the second operational mode is characterized by a lowerpower consumption than the first operational mode.

The wireless reader may be arranged to calculate or receive informationabout distances between the wireless reader and multiple wireless tags;and select the wireless tags of the sphere out of the multiple wirelesstags to be within a predetermined distance from the wireless tag.

The wireless reader may be arranged to program the wireless tags tobelong to the sphere only during predetermined time periods.

The wireless reader may be arranged to instruct a wireless tag totransmit wireless tag identification information even without receivingbeacon messages aimed to the wireless tag.

According to an embodiment of the invention there may be provided anon-transitory computer readable medium may store instructions that whenexecuted by a computer cause the computer to execute the stages ofprogramming, by a wireless reader, a group of wireless tags to belong tothe sphere of wireless tags; sending by the wireless reader spherebeacons aimed to the wireless tags of the sphere; detecting a loss of awireless tag of the sphere if the wireless tag did not respond to apredetermined number of sphere beacons; and responding to the detectingof the loss of the wireless tag.

According to an embodiment of the invention there may be provided amethod for operating a wireless tag that belongs to a sphere of wirelesstags, the method may include participating in multiple sphere checkcycles; and operating at an energy saving mode between the multiplesphere check cycles; wherein a participating of the wireless tag in asphere check cycle of the multiple sphere check cycles may includesearching, by the wireless tag and during a time window, for a precedingwireless tag token from a preceding wireless tag; and transmitting, bythe wireless tag, a lack of reception indication indicative of a failureto receive the preceding wireless tag token during the time window.

The method may include transmitting a wireless tag token by the wirelesstag and to a next wireless tag; wherein the wireless tag tokentransmitted by the wireless tag is treated as a preceding wireless tagtoken by the next wireless tag.

The method may include transmitting a wireless tag token by the wirelesstag and to a next wireless tag only if receiving the preceding wirelesstag token; wherein the wireless tag token transmitted by the wirelesstag is treated as a preceding wireless tag token by the next wirelesstag.

The method may include transmitting a wireless tag token by the wirelesstag and to a next wireless tag regardless of a reception of thepreceding wireless tag token; wherein the wireless tag token transmittedby the wireless tag is treated as a preceding wireless tag token by thenext wireless tag.

The method may include transmitting by the wireless tag anacknowledgement message in response to each reception of the precedingwireless tag token.

The method may include transmitting by the wireless tag anacknowledgement message in response to only some of the receptions ofthe preceding wireless tag token.

According to an embodiment of the invention there may be provided anon-transitory computer readable medium may store instructions that whenexecuted by a computer cause the computer to execute the stages ofparticipating in multiple sphere check cycles; and operating at anenergy saving mode between the multiple sphere check cycles; wherein aparticipating of the wireless tag in a sphere check cycle of themultiple sphere check cycles may include searching, by the wireless tagand during a time window, for a preceding wireless tag token from apreceding wireless tag; and transmitting, by the wireless tag, a lack ofreception indication indicative of a failure to receive the precedingwireless tag token during the time window.

According to an embodiment of the invention there may be provided awireless tag, may include a transceiver and a processor that arearranged to participate in multiple sphere check cycles; and wherein thewireless tags may be arranged to operate at an energy saving modebetween the multiple sphere check cycles; wherein a participating of thewireless tag in a sphere check cycle of the multiple sphere check cyclesmay include searching, by the wireless transceiver and during a timewindow, for a preceding wireless tag token from a preceding wirelesstag; and transmitting, by the wireless transceiver, a lack of receptionindication indicative of a failure to receive the preceding wireless tagtoken during the time window.

The transceiver may be arranged to transmit a wireless tag token to anext wireless tag; wherein the wireless tag token transmitted by thewireless tag is treated as a preceding wireless tag token by the nextwireless tag.

The wireless tag wherein the wireless transceiver may be arranged totransmit a wireless tag token to a next wireless tag only if receivingthe preceding wireless tag token; wherein the wireless tag tokentransmitted by the wireless tag is treated as a preceding wireless tagtoken by the next wireless tag.

The wireless transceiver may be arranged to transmit a wireless tagtoken to a next wireless tag regardless of a reception of the precedingwireless tag token; wherein the wireless tag token transmitted by thewireless tag is treated as a preceding wireless tag token by the nextwireless tag.

The wireless transceiver may be arranged to transmit an acknowledgementmessage in response to each reception of the preceding wireless tagtoken.

The wireless transceiver may be arranged to transmit an acknowledgementmessage in response to only some of the receptions of the precedingwireless tag token.

According to an embodiment of the invention there may be provided amethod for determining a location of a group of wireless tags, themethod may include receiving first information indicative of distancesbetween each wireless tag of the group and between at least three otherwireless tags of the group; tracking a first movement of a certain tagof the group of wireless tag in relation to other wireless tags of thegroup to provide first movement information; receiving, after theperforming of the first movement, second information indicative ofdistances between each wireless tag of the group and between at leastthree other wireless tags of the group; and determining locations of thewireless tags of the group in response to the first information, secondinformation and the first movement information.

The method may include tracking a second movement of the certain tag ofthe group of wireless tag in relation to other wireless tags of thegroup to provide second movement information; receiving, after theperforming of the second movement, third information indicative ofdistances between each wireless tag of the group and between at leastthree other wireless tags of the group; and determining locations of thewireless tags of the group in response to the first information, secondinformation, third information, the first movement information and thesecond movement information.

The method may include tracking a third movement of the certain tag ofthe group of wireless tag in relation to other wireless tags of thegroup to provide third movement information; receiving, after theperforming of the third movement, fourth information indicative ofdistances between each wireless tag of the group and between at leastthree other wireless tags of the group; and determining locations of thewireless tags of the group in response to the first information, secondinformation, third information, fourth information, the first movementinformation, the second movement information and the third movementinformation.

The method may include instructing a user that moves the certain tag toperform movements at directions that are oriented in relation to eachother.

The method may include receiving orientation information relating to anorientation of some of the tags of the group of tags; and wherein thedetermining of the locations of the wireless tags of the group isresponsive to the first information, second information, the firstmovement information and the orientation information.

The certain tag may be attached to a user or to a user device carried bythe user; wherein the method may include displaying a location of theuser in relation to the locations of other tags of the group of tags.

The method may include estimating by a user device that differs from thewireless tags of the group the location of the user device based upon anexchange of signals between some tags of the group and the user device.

According to an embodiment of the invention there may be provided adevice for determining a location of a group of wireless tags, thedevice may include an interface for receiving first informationindicative of distances between each wireless tag of the group andbetween at least three other wireless tags of the group; first movementinformation indicative of a first movement of a certain tag of the groupof wireless tag in relation to other wireless tags of the group; andsecond information, received after the first movement, indicative ofdistances between each wireless tag of the group and between at leastthree other wireless tags of the group; and a processor may be arrangedto determine locations of the wireless tags of the group in response tothe first information, second information and the first movementinformation.

The interface may be arranged to receive second movement informationabout a second movement of the certain tag of the group of wireless tagin relation to other wireless tags, and to receive, after the performingof the second movement, third information indicative of distancesbetween each wireless tag of the group and between at least three otherwireless tags of the group; and wherein the processor may be arranged todetermine locations of the wireless tags of the group in response to thefirst information, second information, third information, the firstmovement information and the second movement information.

The interface may be arranged to receive third movement informationabout a third movement of the certain tag of the group of wireless tagin relation to other wireless tags of the group, and to receive, afterthe performing of the third movement, fourth information indicative ofdistances between each wireless tag of the group and between at leastthree other wireless tags of the group; and wherein the processor may bearranged to determine locations of the wireless tags of the group inresponse to the first information, second information, thirdinformation, fourth information, the first movement information, thesecond movement information and the third movement information.

The device may be arranged to instruct a user that moves the certain tagto perform movements at directions that are oriented in relation to eachother.

The interface may be arranged to receive orientation informationrelating to an orientation of some of the tags of the group of tags; andwherein the processor may be arranged to determine of the locations ofthe wireless tags of the group is responsive to the first information,second information, the first movement information and the orientationinformation.

The certain tag may be attached to a user or to a user device carried bythe user; wherein the device further a display for displaying a locationof the user in relation to the locations of other tags of the group oftags.

According to an embodiment of the invention there may be provided anon-transitory computer readable medium may store instructions that whenexecuted by a computer cause the computer to execute the stages ofreceiving first information indicative of distances between eachwireless tag of the group and between at least three other wireless tagsof the group; tracking a first movement of a certain tag of the group ofwireless tag in relation to other wireless tags of the group to providefirst movement information; receiving, after the performing of the firstmovement, second information indicative of distances between eachwireless tag of the group and between at least three other wireless tagsof the group; and determining locations of the wireless tags of thegroup in response to the first information, second information and thefirst movement information.

The non-transitory computer readable medium may store instructions forreceiving third movement information about a third movement of thecertain tag of the group of wireless tag in relation to other wirelesstags of the group, receiving, after the performing of the thirdmovement, fourth information indicative of distances between eachwireless tag of the group and between at least three other wireless tagsof the group; and determining locations of the wireless tags of thegroup in response to the first information, second information, thirdinformation, fourth information, the first movement information, thesecond movement information and the third movement information.

The non-transitory computer readable medium may store instructions forinstructing a user that moves the certain tag to perform movements atdirections that are oriented in relation to each other.

The non-transitory computer readable medium may store instructions forreceiving orientation information relating to an orientation of some ofthe tags of the group of tags; and determining of the locations of thewireless tags of the group is responsive to the first information,second information, the first movement information and the orientationinformation.

The certain tag may be attached to a user or to a user device carried bythe user; wherein the non-transitory computer readable medium storesinstructions for displaying for displaying a location of the user inrelation to the locations of other tags of the group of tags.

According to an embodiment of the invention there may be provided amethod for locating a user within an indoor space, the method mayinclude receiving by a computer, distance information about distancesbetween multiple wireless tags that are positioned within the indoorspace; wherein the distance information is obtained by the multiplewireless tags during a first type of distance estimation process thatmay include wirelessly transmitting messages between the multiplewireless tags; determining locations of the wireless tags in the indoorspace in response to the distance information and to calibrationinformation indicative of an actual or estimated location of at leastone wireless tag in the indoor space; receiving, from a user device,user device location information related to a location of the userdevice in relation to a sub-set of the wireless tags; and determining alocation of the user device within the indoor space in response to theuser device location information and to locations of the wireless tagsof the sub-set of wireless tags in the indoor space.

The user device location information may be obtained by applying asecond type of distance estimation process that differs from the firsttype of distance estimation process.

The second type of distance estimation process may be based uponreceived signal strength indication (RSSI) measurements of beaconstransmitted from the wireless tags of the sub-set of wireless tags; andwherein the first type of distance estimation is based upon tome offlight measurements.

Each wireless tag of the multiple wireless tags may have a uniqueidentifier that is included in messages transmitted by the wireless tagduring the second type of second type of distance estimation process.

The method may include receiving a map of the indoor space, the map isindicative of shapes and orientations of multiple objects within theindoor space to which wireless tags are attached; determining spatialrelationships between the multiple wireless tags based upon the distanceinformation; and calculating the calibration information based uponsimilarities between a shape and an orientation of at least one objectand between spatial relationships between objects that are attached tothe at least one object.

The multiple wireless tags may include at least one hundred wirelesstags and wherein a distance between adjacent wireless tags positioned ona same side of an object does not exceed 100 centimeters.

The first type of distance estimation process may include wirelesslytransmitting Bluetooth low energy messages between the multiple wirelesstags.

The first type of distance estimation process may include wirelesslytransmitting wideband and narrowband messages between the multiplewireless tags.

The method may include transmitting to the user device messages inresponse to the location of the user device.

According to an embodiment of the invention there may be provided anon-transitory computer readable medium may store instructions that whenexecuted by a computer cause the computer to execute the stages ofreceiving by a computer, distance information about distances betweenmultiple wireless tags that are positioned within an indoor space;wherein the distance information is obtained by the multiple wirelesstags during a first type of distance estimation process that may includewirelessly transmitting messages between the multiple wireless tags;determining locations of the wireless tags in the indoor space inresponse to the distance information and to calibration informationindicative of an actual or estimated location of at least one wirelesstag in the indoor space; receiving, from a user device, user devicelocation information related to a location of the user device inrelation to a sub-set of the wireless tags; determining a location ofthe user device within the indoor space in response to the user devicelocation information and to locations of the wireless tags of thesub-set of wireless tags in the indoor space.

The user device location information may be obtained by applying asecond type of distance estimation process that differs from the firsttype of distance estimation process.

The second type of distance estimation process may be based uponreceived signal strength indication (RSSI) measurements of beaconstransmitted from the wireless tags of the sub-set of wireless tags; andwherein the first type of distance estimation is based upon tome offlight measurements.

Each wireless tag of the multiple wireless tags may have a uniqueidentifier that is included in messages transmitted by the wireless tagduring the second type of second type of distance estimation process.

The non-transitory computer readable medium may store instructions forreceiving a map of the indoor space, the map is indicative of shapes andorientations of multiple objects within the indoor space to whichwireless tags are attached; determining spatial relationships betweenthe multiple wireless tags based upon the distance information; andcalculating the calibration information based upon similarities betweena shape and an orientation of at least one object and between spatialrelationships between objects that are attached to the at least oneobject.

The multiple wireless tags may include at least one hundred wirelesstags and wherein a distance between adjacent wireless tags positioned ona same side of an object does not exceed centimeters.

The first type of distance estimation process may include wirelesslytransmitting Bluetooth low energy messages between the multiple wirelesstags.

The first type of distance estimation process may include wirelesslytransmitting wideband and narrowband messages between the multiplewireless tags.

The non-transitory computer readable medium may store instructions thatwhen executed by the computer will cause the computer to transmit to theuser device messages in response to the location of the user device.

According to an embodiment of the invention there may be provided adevice that may include an interface and a processor; wherein theinterface may be arranged to receive distance information aboutdistances between multiple wireless tags that are positioned within theindoor space; wherein the distance information is obtained by themultiple wireless tags during a first type of distance estimationprocess that may include wirelessly transmitting messages between themultiple wireless tags; wherein the processor may be arranged todetermine locations of the wireless tags in the indoor space in responseto the distance information and to calibration information indicative ofan actual or estimated location of at least one wireless tag in theindoor space; wherein the interface may be arranged to receive, from auser device, user device location information related to a location ofthe user device in relation to a sub-set of the wireless tags; andwherein the processor may be arranged to determine a location of theuser device within the indoor space in response to the user devicelocation information and to locations of the wireless tags of thesub-set of wireless tags in the indoor space.

According to an embodiment of the invention there may be provided amethod for locating a user within an indoor space, the method mayinclude generating, by multiple wireless tags, distance informationabout distances between the multiple wireless tags, the multiplewireless tags are positioned within the indoor space by applying a firsttype of distance estimation process that may include wirelesslytransmitting messages between the multiple wireless tags; transmittingby the multiple wireless tags ranging beacons, wherein wireless tagsranging bacons transmitted by a wireless tag may include a uniqueidentifier of the wireless tag.

According to an embodiment of the invention there may be provided amethod for determining a location of a user within an indoor space, themethod may include receiving, by a user device, information aboutlocations and identities of multiple wireless tags within the indoorspace; receiving by the user device messages from a group of wirelesstags, the messages are indicative of identities of the wireless tags ofthe group, wherein the group of the wireless tags forms a fraction ofthe multiple wireless tags; and calculating, in response to theidentities of wireless tags of the group, the information aboutlocations and identities of multiple wireless tags and receptionparameters of the messages, a location of the user device within theindoor space.

The method may include calculating a rough estimate of the location ofthe user device in response to the identities of wireless tags of thegroup and the information about locations and identities of multiplewireless tags.

The method may include calculating a fine estimate of the location ofthe user device in response to the reception parameters of the messages.

The reception parameters of the messages are RSSI measurements relatedto the messages.

According to an embodiment of the invention there may be provided anon-transitory computer readable medium may store instructions that whenexecuted by a computer cause the computer to execute the stages ofreceiving information about locations and identities of multiplewireless tags within the indoor space; receiving messages from a groupof wireless tags, the messages are indicative of identities of thewireless tags of the group, wherein the group of the wireless tags formsa fraction of the multiple wireless tags; and calculating, in responseto the identities of wireless tags of the group, the information aboutlocations and identities of multiple wireless tags and receptionparameters of the messages, a location of the user device within theindoor space.

The non-transitory computer readable medium may store instructions forcalculating a rough estimate of the location of the user device inresponse to the identities of wireless tags of the group and theinformation about locations and identities of multiple wireless tags.

The non-transitory computer readable medium may store instructions forcalculating a fine estimate of the location of the user device inresponse to the reception parameters of the messages.

The reception parameters of the messages may be RSSI measurementsrelated to the messages.

According to an embodiment of the invention there may be provided amethod for detecting a presence of a tagged item within a taggedenclosure, the method may include performing distance measurementsbetween at least one wireless tag of the tagged enclosure and the taggeditem to determine the spatial relationship between the tagged enclosureand the tagged item.

The method may include determining, based upon the distancemeasurements, whether the tagged item is within the tagged enclosure.

The method may include evaluating a location of a tagged user device inrelation to the tagged enclosure by evaluating distances between atleast two wireless tags of the tagged enclosure and the tagged userdevice.

The method according to claim 117 wherein the performing of the distancemeasurements between at least one wireless tag of the tagged enclosureinvolves determining whether the tagged item is within a coverage areaof each one of the at least one wireless tag.

According to an embodiment of the invention there may be provided anon-transitory computer readable medium may store instructions that onceexecuted by a computer cause the computer to execute the stages ofperforming distance measurements between at least one wireless tag of atagged enclosure and a tagged item to determine the spatial relationshipbetween the tagged enclosure and the tagged item.

The non-transitory computer readable medium may store instructions fordetermining, based upon the distance measurements, whether the taggeditem is within the tagged enclosure.

The non-transitory computer readable medium may store instructions forevaluating a location of a tagged user device in relation to the taggedenclosure by evaluating distances between at least two wireless tags ofthe tagged enclosure and the tagged user device.

The non-transitory computer readable medium wherein the performing ofthe distance measurements between at least one wireless tag of thetagged enclosure involves determining whether the tagged item is withina coverage area of each one of the at least one wireless tag.

According to an embodiment of the invention there may be provided awireless reader that comprises an interface and a processor, wherein theinterface may be arranged to receive distance measurements between atleast one wireless tag of a tagged enclosure and a tagged item andwherein the processor may be arranged to determine the spatialrelationship between the tagged enclosure and the tagged item inresponse to the distance measurements.

The processor may be arranged to determine, based upon the distancemeasurements, whether the tagged item is within the tagged enclosure.

The processor may be arranged to evaluate a location of a tagged userdevice in relation to the tagged enclosure by evaluating distancesbetween at least two wireless tags of the tagged enclosure and thetagged user device.

The processor is the distance measurements are indicative of whether thetagged item is within a coverage area of each one of the at least onewireless tag.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other objects, features, and advantages of the presentinvention will become more apparent from the following detaileddescription when taken in conjunction with the accompanying drawings. Inthe drawings, similar reference characters denote similar elementsthroughout the different views, in which:

FIG. 1 illustrates wireless tags, wireless readers and their environmentaccording to an embodiment of the invention;

FIGS. 2-4 illustrate a method according to an embodiment of theinvention;

FIGS. 5-17 are timing diagrams according to various embodiments of theinvention;

FIG. 18 illustrates a sphere of tags according to an embodiment of theinvention;

FIGS. 19-22 are timing diagrams according to various embodiments of theinvention;

FIGS. 23-25 illustrate a wireless tag according to various embodimentsof the invention;

FIG. 26 illustrates an integrated circuit (ASIC) of a wireless tagaccording to an embodiment of the invention;

FIG. 27 illustrates a display of a wireless tag according to anembodiment of the invention;

FIG. 28 illustrates a wireless tag according to an embodiment of theinvention;

FIG. 29 illustrates electrical components of a wireless tag according toan embodiment of the invention;

FIG. 30 illustrates various distance measurements and a path of awireless tag according to an embodiment of the invention;

FIGS. 31-35 illustrate maps of wireless tags according to variousembodiments of the invention;

FIGS. 36-37 illustrate a sphere of wireless tag according to variousembodiments of the invention;

FIG. 38 is a timing diagrams according to an embodiment of theinvention;

FIG. 39 illustrates a prior location tracking scheme;

FIGS. 40-41 illustrates multiple wireless tags positioned in an indoorspace, a user device located within a virtual cell and a computeraccording to various embodiments of the invention;

FIGS. 42-50 illustrate methods according to various embodiments of theinvention; and

FIGS. 51-52 illustrate tagged enclosures according to variousembodiments of the invention.

DETAILED DESCRIPTION OF THE DRAWINGS

In the following detailed description, numerous specific details are setforth in order to provide a thorough understanding of the invention.However, it will be understood by those skilled in the art that thepresent invention may be practiced without these specific details. Inother instances, well-known methods, procedures, and components have notbeen described in detail so as not to obscure the present invention.

The subject matter regarded as the invention is particularly pointed outand distinctly claimed in the concluding portion of the specification.The invention, however, both as to organization and method of operation,together with objects, features, and advantages thereof, may best beunderstood by reference to the following detailed description when readwith the accompanying drawings.

It will be appreciated that for simplicity and clarity of illustration,elements shown in the figures have not necessarily been drawn to scale.For example, the dimensions of some of the elements may be exaggeratedrelative to other elements for clarity. Further, where consideredappropriate, reference numerals may be repeated among the figures toindicate corresponding or analogous elements.

Because the illustrated embodiments of the present invention may for themost part, be implemented using electronic components and circuits knownto those skilled in the art, details will not be explained in anygreater extent than that considered necessary as illustrated above, forthe understanding and appreciation of the underlying concepts of thepresent invention and in order not to obfuscate or distract from theteachings of the present invention.

Any reference in the specification to a method should be applied mutatismutandis to a system, device, apparatus, wireless tag, or wirelessreader capable of executing the method and should be applied mutatismutandis to a non-transitory computer readable medium that storesinstructions that once executed by a computer result in the execution ofthe method.

Any reference in the specification to a system, device, apparatus,wireless tag, or wireless reader should be applied mutatis mutandis to amethod that may be executed by the system and should be applied mutatismutandis to a non-transitory computer readable medium that storesinstructions that may be executed by the system.

Any reference in the specification to a non-transitory computer readablemedium should be applied mutatis mutandis to system, device, apparatus,wireless tag, or wireless reader capable of executing the instructionsstored in the non-transitory computer readable medium and should beapplied mutatis mutandis to method that may be executed by a computerthat reads the instructions stored in the non-transitory computerreadable medium.

Any combination of any methods disclosed in any of the figures (oranywhere in the specification including the summary) may be provided.Any combination of any stages of such methods may be provided.

A system, device, apparatus, wireless tag, or wireless reader capable ofperforming any method, any combination of any methods disclosed in anyof the figures (or anywhere in the specification) or any stages of suchmethods may be provided.

A non-transitory computer readable medium that stores instructions thatonce executed cause a computer to execute any method, any combination ofmethods disclosed in any of the figures (or anywhere in thespecification) or any stages of such methods may be provided.

The terms “computer”, “processor”, “controller” are used in aninterchangeable manner.

In the drawings and descriptions set forth, identical reference numeralsindicate those components that are common to different embodiments orconfigurations.

Unless specifically stated otherwise, as apparent from the followingdiscussions, it is appreciated that throughout the specificationdiscussions utilizing terms such as “processing”, “calculating”,“computing”, “determining”, “generating”, “setting”, “configuring”,“selecting”, “defining”, or the like, include action and/or processes ofa computer that manipulate and/or transform data into other data, saiddata represented as physical quantities, e.g. such as electronicquantities, and/or said data representing the physical objects. Theterms “computer”, “processor”, and “controller” should be expansivelyconstrued to cover any kind of electronic device with data processingcapabilities, including, by way of non-limiting example, a personalcomputer, a server, a computing system, a communication device, aprocessor (e.g. digital signal processor (DSP), a microcontroller, afield programmable gate array (FPGA), an application specific integratedcircuit (ASIC), etc.), any other electronic computing device, and or anycombination thereof.

The operations in accordance with the teachings herein may be performedby a computer specially constructed for the desired purposes or by ageneral purpose computer specially configured for the desired purpose bya computer program stored in a computer readable storage medium.

The terms “tag” and “wireless tag” are used in an interchangeablemanner. A tag is a device that includes a wireless transceiver. A tagcan include a processor for calculating distances between the tag toother radiating elements (for example—other radiating elements).Alternatively—the tag does not preform distance calculations.

A sphere of wireless tags means a group of wireless tags. It does needto follow a specific shape or arrangement.

The terms “reader” and “wireless reader” are used in an interchangeablemanner. A reader is a device that can manipulate (control, program) awireless tag. A reader can include a transceiver, can perform distancecalculations and the like.

The term BLE stands for Bluetooth Low Energy and includes any BLEstandard that was in act during November 2013 or any other date.

The “term BLE+” stands for a communication protocol that is capable ofsupporting one or more of the features illustrated in the specification.For example, it can be a BLE protocol that supports the establishmentand maintenance of a sphere.

General System Structure—Reader and Tags' Types

FIG. 1 illustrates a tag cloud 20, readers 30, a smart deviceapplication 10 and a cloud computational device (cloud) 11 according toan embodiment of the invention.

Tag cloud 20 can include tags such as fixed tag1, basic tag 2, smart tag3, software tag 4, virtual tag 5, and third party tag 6.

Readers can include fixed readers 7, mobile readers 8 and softwarereaders 9.

A Tag cloud 20 is collection of one or several tags of the same type orseveral tags of different types (system supports several types of tags)that can be manipulated by a reader. Tag is a wireless device or entitythat may:

-   -   a. Communicate with a reader, several readers and/or other tags    -   b. Indicate an ID, logical information (name, description,        etc.), existence and location guidance signal, power level and        other value-add information (such as tag sensor information,        relaying other tag's data etc.)    -   c. May have a privacy assurance method    -   d. May have one of several different form factors or other        characteristics depending on the Tag Type. Different tags types        may exist and function within the same “tag cloud”    -   e. Be operated by battery or other power source (direct power or        other power harvesting methods)    -   f. Be connected to Personal Gear e.g. by glue or other means or        be built/embedded into personal gear.    -   g. Be in one of several states/modes: un-Initiation        (“in-storage”), Sleep, listen, update ID, etc.

Tag Types

(1) Fixed Tag

-   -   a. Stationary tag that may enable the system to establish its        location with certainty

(2) Basic Tag

-   -   a. Small in size    -   b. Physically attached to items    -   c. Has an independent power sub system (local energy source or        by harvesting)    -   d. Communicates existence & signaling supporting location        estimation

(3) Smart-Tag

-   -   a. A basic or fixed tag that may additionally provide extended        functionality to the system including:    -   b. Absolute position using positioning system    -   c. Reading from various sensors. Examples: Temperature,        pressure, acceleration etc.    -   d. State machine that triggers specific events or actions

(4) “Software” Tag

-   -   a. Basic smart or fixed tag that leverages an existing hardware        element and enables communication with the system through        software configuration of that hardware

(5) Virtual Tag

-   -   a. A software tag that is attached to a virtual element such as        E-mail message, a doc file etc.

(6) 3^(rd) Party Tag

-   -   a. A tag or anything else that is readable by a reader of any        kind that exist independently or a-priori of the proposed system    -   b. E.g. RFid tags or readers of any kind    -   c. Bluetooth or Bluetooth-Low-Energy (BLE) devices    -   d. Zigbee devices    -   e. TV towers    -   f. Cell towers    -   g. Wifi enables instruments

Readers (or readers cloud) 30 is a collection of one or more Readersthat can manipulate tags, communicate with each other, with a smartdevice or with the network cloud system supports few types of Readers.

Reader is a wireless device that may

-   -   a. communicate with tags or other readers    -   b. communicates with the smart device application    -   c. Communicates with the network cloud    -   d. Provides indications and get information and        configuration/control from a user, through a GUI or other UI    -   e. Validates the existence of tags within a certain area    -   f. Estimates the position, range direction and orientation of        tags relative to the reader    -   g. Gets information from tags (e.g. tag sensor information)    -   h. Estimates its own position (indoor or outdoor) and        orientation, and other value add information required by an        application (acceleration, etc.)

A reader can in some situations act as a tag

There are several Reader Types

The reader can be embedded as hardware and/or software module inside asmart device

Reader Types

(7) Fixed Reader

Stationary reader that could be connected to as power source or have itsown. This reader is used to extend the range of the system or tocommunicate with tags while the mobile readers are not in range.

(8) Mobile Reader

This is a reader that a user can carry around. It is usually connectedto the smart device application

(9) Software Reader

Mobile or fixed reader that leverages existing hardware and enablescommunication with the system through Software configuration

The smart device application 10 may act as a GUI, control, locationestimation and processing unit for the system. The application usesexisting hardware and software of the smart device (such as its screen,input method, GPS facility, Location Based Services (LBS), communicationfacility, sensor data etc.). Examples for a smart device include aSmartphone, a Tablet, a Notebook, a PC, a Smart TV, a Smart Car, aserver farm on the internet, a cloud based service app etc.

The application performs few tasks. Among those could be:

-   -   a. Configuration and association of tags    -   b. Estimation and display of tags' position, range, direction    -   c. Storing historical log of tag position, existence    -   d. Communication with the reader    -   e. Communication with the network cloud    -   f. Management of the user's personal gear    -   g. Management of sphere mode    -   h. Providing user interface    -   i. Providing an absolute location (by using GNSS and also other        methods used for indoor/LBS)    -   j. Storing and implementing policies for tagged items handling    -   k. Connecting the item location based system to various        application

The network cloud 11 can provide storage, processing, analytics andother functionality provides value added services such as:

-   -   Backup for system data    -   Synchronization and sharing of information between readers    -   Synchronization between different smart devices applications    -   Interfacing the system with cloud based applications    -   Crowd mapping of tagged items    -   Issuing a broad “amber alert” for lost items

System Interconnections

Tag—Tag connection 12. Any tag can connect to another tag, regardless oftheir type. A few connection examples are shown in the diagram for thesake of simplicity. The connection is a two way wireless connection thatmay

-   -   a. Share data between tags, as example—get ID, get sensor data        etc.    -   b. configure a tag—e.g. download hash tables etc. into the tag    -   c. Support TOF measurements    -   d. Support RSSI measurements

The connection could be set in advance by the reader communicating withthe two tags or be established directly between the tags.

Frequency bands that can be used

-   -   a. 13.56 MHz ISM band    -   b. VHF bands    -   c. UHF bands    -   d. 2.4 Ghz ISM band    -   e. 5-6 GHz ISM and UNII bands    -   f. UWB bands (3.1-5 GHz, 6-10 GHz)    -   g. 60 GHz ISM band    -   h. Ultrasound

(13) Readers(s)—Tag(s) Connection.

The tag reader connection is a two way wireless connection that

-   -   a. establishes communication w the tag    -   b. establishes association w the tag    -   c. maintains communication w the tag    -   d. Gets response and data from tag, as example—get ID, get        sensor data etc.    -   e. sets data on the tag—logical name, status and more    -   f. provides assistance information to tags to support tag-tag        connection    -   g. configures a tag—e.g. download hash tables etc. into the tag    -   h. Transfers data that enables measuring the range and direction        between reader and tag    -   i. Ensures the privacy of the user    -   j. Supports        -   i. TOF measurements        -   ii. RSSI measurements        -   iii. Phase/AOA measurement        -   iv. Directive antenna measurements/maximization    -   k. Multiple Frequency bands can be used including        -   i. 13.56 MHz ISM band        -   ii. VHF bands        -   iii. UHF bands        -   iv. 2.4 Ghz ISM band        -   v. 5-6 GHz ISM and UNII bands        -   vi. UWB bands (3.1-5 GHz, 6-10 GHz)        -   vii. 60 GHz ISM band        -   viii. Ultrasonic

FIG. 1 also illustrates various communication links/connections such ascommunication links 12, 13, 14, 15 and 16.

Reader—Reader connection 12. Any reader can connect to any other reader,regardless of their types. The connection is a two way wirelessconnection that may

-   -   a. Share data between readers, as example—Tag addresses and        status (existence, location) etc.    -   b. configure a reader—e.g. download hash tables etc. into the        tag    -   c. Use a remote reader as a range extender    -   d. Support TOF measurements    -   e. Support RSSI measurements    -   f. Support Phase measurement    -   g. Support Directive antenna measurements/maximization    -   h. Frequency bands that can be used        -   i. 13.56 MHz ISM band        -   ii. VHF bands        -   iii. UHF bands        -   iv. 2.4 Ghz ISM band        -   v. 5-6 GHz ISM and UNII bands        -   vi. UWB bands (3.1-5 GHz, 6-10 GHz)        -   vii. 60 GHz ISM band        -   viii. Ultrasound

Readers(s)—Network Cloud connection 15.

This could be a wireless connection (e.g. through Bluetooth or WLANconnecting to the internet) or a wired connection (e.g. using a USBcable connecting to a device that is connected to the cloud). Thisconnection is used to:

-   -   a. Transfer data from the reader to the cloud    -   b. Transfer data from the cloud to the reader    -   c. Synchronize data on various readers through the cloud    -   d. Control the reader from the cloud    -   e. Backup and restore a reader

Readers(s)—Smart device/smart device application connection 13. Thiscould be a wireless connection (e.g. through Bluetooth or WLAN) or awired connection (e.g. using a USB cable).

This connection is used to:

-   -   a. Transfer data collected by the reader(s) to the application        or a smart device,    -   b. Transfer data from the application to the readers    -   c. Control and configure the reader from the application    -   d. Get status reports and indications/triggers from the reader    -   e. Control and configure the application from the reader

The connection can be internal inside the smartphone device—as thereader can be implemented as internal hardware and/or software insidethe smart device.

Smart device application—Network Cloud connection 17.

This could be a wireless connection (e.g. through Bluetooth or WLANconnecting to the internet) or a wired connection (e.g. using a USBcable connecting to a device that is connected to the cloud).

This connection is used to:

-   -   a. Transfer data from the application to the cloud    -   b. Transfer data from the cloud to the application    -   c. Synchronize data for different instances of the application        through the cloud    -   d. Control the application from the cloud    -   e. Backup and restore the relevant smart phone application data

As shown in the diagram, the user can interact and control the systemeither from the smart device, smart device application, the reader(s) orfrom the network cloud.

Personal Gear Assistance (PGA) System Overview

Personal Gear Assistance (PGA) system provides the user with serviceslike tracking, monitoring and keeping as well as finding or givelocation for real or virtual previously tagged items (tagged by Wirelesstag). The system is designed to enable very low average powerconsumption of tags resulting in low size and cost as well as longlifetime of the tags. This is done by working in a very low duty-cyclein addition to the reader taking most of the power consumption penaltyin any action, optimizing the tag power consumption. Those concepts aredescribed in section (4). A very high level description of the system isillustrated in the Figure below. As can be seen, there are four elementssurrounding the user:

-   -   a. Tags (any one or combination of tags 1-6), which are part or        a subset of a tag cloud 20 of FIG. 1.    -   b. Reader or readers (any one of a combination of readers 7-9)        which are part of a reader cloud 30.    -   c. Smart Device or Smart device application 10.    -   d. The network cloud 11.

System Interconnections

As illustrated from the diagram the system has the followinginterconnections:

-   -   a. Readers(s)—Tag(s) 13 connection    -   b. Readers(s)—Smart device/smart device application connection        14    -   c. Readers(s)—Network Cloud connection 15.

Smart Device Application—Network Cloud 17.

The user can interact and control the system either from the smartdevice application, the reader(s) or from the network cloud

High Level Functional Description

Un-installed tags—before installation the tag, depending on type, couldbe connected or disconnected from a power source.

Tags may be associated with the system before being used. This is donethrough the association process. A tag could come from factory with apre-defined address or with a generic initial address. Following theassociation process:

-   -   a. The tag gets a few unique IDs (e.g. system, kit personal        etc.) which are set by the reader. The reader can later share or        change this information    -   b. The user, using the application associates a logical “name”        to the tag. This could be a text string, a picture etc. or a        combination of the above. The applications “name” corresponds to        the Tag ID stored in the reader using an index which is known        for both the application and the reader    -   c. The reader acquires information on the Tag's slow clock and        fast clock offsets compared to its own slow clock and fast        clock. This information can be shared with the tag    -   d. The Tag gets into Standby state

There could be tags that are “public” or un-associated which means anyreader can interact with these tags

After association, by default all tags are in standby state. In thisstate the tag wakes up periodically and looks for a “wake up” indicationfrom the reader that is addressed it (using one of the IDs that arestored in the tag). If there is no such indication, the tag gets back tosleep until the next wake up period. The period could change based oninternal or external information (e.g.—time since last connection made,absolute time of day, etc.). If a wake up indication is identified thetag moves to “awake” state

While in “awake” state the tag acquires the reader's system clock andcommunication windows period. The tag still wakes up periodicallywaiting for a command from the reader which is addressed to it. Theperiod could be (although not necessarily) shorter than that of standbystate. In this state the reader and tag are synchronized in time, so thereader knows with relative good accuracy when does the tag wake up.Several tags could be in that state together.

While in awake state, the reader can perform few actions:

-   -   a. Configure the tag and transfer information (e.g. change IDs,        tables etc.)    -   b. Read information from the tag    -   c. Move the tag(s) to a different system state

Connection states. There are 2 basic connection states containing readerand tag(s): Sphere connection and ranging connection

Sphere connection: In the state the reader wakes up a subset of tags(one or more) and while in “listen” mode configures a “star networks” (aSphere) with the set of tags. The reader then starts a beaconsearch—periodically sending either a beacon for all tags or individualqueries per each tag. Upon reception of the beacon each of the tagssends an acknowledge indication back to the reader. The acknowledgeindication can include more information. The reader's beacon can alsoinclude information to the tags. If a connection to one of the tagsparticipating in the Sphere is lost for more than few periods the tag isconsidered “absent” from the sphere. The sphere connection ends upon acommand sent from the reader to the participating tags.

Ranging connection—In this state the reader wakes up a subset of tags(one or more). While in awake mode it sends a timed indication to thetag on a range measurement, following by a ranging signal (this way theranging measurement is done in a relatively well defined timing hencesimplifying the ranging measurement process). This signal is used for atwo way time of arrival (TOA) measurement. This measurement could beunidirectional (reader->tag->reader) or bidirectional(reader->tag->reader followed by tag->reader->tag). In addition to theTOA measurement the reader may collect other information such RSSIinformation from each of its antennas and signal phase information (ifmultiple antennas are used) of the received tag signals. After themeasurement is completed the connection gets into sleep period until thenext slot. This process could be done with several tags, either in around robin fashion (reader send individual ranging signal to each tag)or through timed (sequenced) process—one ranging signal from reader,tags respond one after the other

User/Application System states. There are 3 basic system states: sphere,find and background scan.

Sphere: This user driven or event driven mode is using Sphereconnection. In this mode the user selects a kit of elements, for exampleby selecting a pre-defined kit of elements; or by selecting a fewelements out of a longer list of elements; or by selecting a group ofelements that are present at a given time and acquiring them instantlyas a kit, or by another method that specifies the elements that he/shewould like to monitor. The selection can be predefined, all the tagsthat are currently in range or combination with user specification. Thesystem creates an ad-hoc sphere connection between the reader and theselected tags. More tags can be added by the user also after the spherewas created. If a connection to a certain tag is lost (for example whenthere is no response or the range too far to be read), the systemgenerates an indication in the reader and smart device, and logs theevent. The log could take place in the reader, smart device or cloud.

Find: This user or event driven mode. IN case of user driven, the userselects an item he/she would like to find. The system will indicate thelast location information it has on the item. It will then enter aranging connection with the selected tag. Based on the rangingmeasurements, RSSI, angle of arrival (AOA) estimations and the userrecorded movement path (by indoor location and navigation abilities,using sensors like gyro-meters, accelerometers, compass, beacons andetc.) the system will create a 3D model of the user (reader,smart-device, tags) movements and the estimated tag location relative tothe user. This will be done by finding the crossing points of theestimated ranging spheres along with the RSSI/AOA information. Thesystem will then provide the user with the estimated range and directionof the tag relative to user

Background scan: This is scheduled or event driven mode. Periodically,based on previous setting, or based on location (using GPS in thereader/smart device) or based on proximity to a pre-defined tag withknown location or other method (example—connection to a certain WLAN AP,connection to a certain Bluetooth device etc.), the system will enterbackground scan mode. It will get into ranging connection with apredefined subset of tags (“participating tags” could vary from 1 to anyof all associated tags) and perform ranging measurements. It will trackthe reader movements as described in “find mode” while the starting orreference point is a tag with known location or a last GPS reading or atag known to the user or any other instrument with position known to theuser (could be WLAN AP, a TV etc.). The measurements will continue for apredefined amount of time or until the reader movements create enoughuncorrelated measurements enabling triangulation of participating tags.The system will then record the location of all participating tags andgo back to sleep.

System States and Protocols

This section describes the wireless tag system flow, highlighting thedifferent states and the different options and paths to move betweenthose states.

FIGS. 2-3 illustrates a method 800 for operating a wireless tag invarious states according to an embodiment of the invention.

These states include:

-   -   a. Un-initialized    -   b. Standby.    -   c. Sphere.    -   d. Ranging.

Un-Initiated

This state includes stages 810, 812, 844, and 818. Stage 810 is followedby stage 812 that is followed by query stage 814. A positive answercauses stage 814 to be followed by query stage 816—else to be followedby stage 812. A positive answer causes stage 816 to be followed by stage820—else to be followed by stage 812.

This is the state the tag gets into after initial power connect (stage810). It will periodically wake up (stage 812) and get into receptionmode, looking for a unique initiation signal. The initiation signalcould be a specific one (single phase initiation) or a “generic” one(two phase initiation), depended on the data programmed into the tagduring production phase. The advantage in using a generic initiationsignal (two phase) is that it could be shorter than a specific one hencerequiring shorter reception window resulting in lower power consumptionduring un-initiated state. Two phase initiation:

-   -   a. If a valid initiation signal is not detected, the tag gets        back to sleep till the next reception window    -   b. If a valid generic initiation signal is received, the tag        moves to a faster periodic reception phase looking for a        specific association command with its own ID (stage 816).

The association command also contains timing information enabling thetag to match its reception windows with those of the reader'stransmissions. If the association command is received (stage 814) thetag moves to association phase (stage 818). If the command is notreceived for a certain amount of reception periods, the tag moves backto un-initiated state.

In a single initiation process the first step in skipped, the tagreception windows are longer and the reader starts directly by sendingan association command

As an example, two phase process may use generic initiating signal of 15bits only. False detection is low (of the order [½̂15]) and with typical1 Mbps modulation scheme (like Bluetooth low energy for example) andwakeup period of 3 sec the duty cycle of the active TX window will be:DC=2*15*1 usec/3E6 usec=1E-5 or 0.001%. In practice this process couldbe done in few frequencies, and the overheads of the reception processshould be taken into account (synthesizer lock etc.) yet the DC is stillextremely low

Association process (stage 818): The system gets into that process aftera successful reception of an association command by the tag. The tagextracts the timing information from that command and the process beginsin the next reception slot. During the association process the tag getsnew IDs (replacing production unique IDs as well as adding few broadcastIDs), calibrates its clock offset from the reader's and gets additionalparameters. After sending an ACK message the tag moves to Standby mode(stage 820)

Standby.

This state includes stages 818, 820, 822, 824, 826, 828, 830 and 132.

This is the default state of a tag after association. From this state itcan move to other states while eventually every state goes back tostandby. In standby mode the tag wakes up periodically (stages 820-822)and get into reception mode, looking for a unique wake up signal. Thewakeup signal could be a specific one to the tag or a reader “generic”one, depending on the data programmed into the tag during associationphase. The advantage in using a generic reader initiation signal is thatit could be shorter than a specific one hence requiring shorterreception window during standby state. The wake up period in this stateis probably faster than in un-initiate state, yet the operation dutycycle is of the same order of magnitude and the same DC example shown inthe previous section could be used here. Waking up could be one or twophase process:

If a valid wakeup signal is not detected stage 822 is followed by stage820 and the tag gets back to sleep till the next reception window

In a two phase wakeup process once a valid wakeup signal is received,the tag moves to awake state (stage 824) which is faster periodicreception phase looking for a specific command. In a single phase wakeupprocess the wakeup signal contains the reader timing information so thetag is synchronized with the reader while it is looking for the specificcommands. The command could be a sphere initiation request (stage 826),ranging request (stage 828) or data exchange request (stage 830). In twophase wakeup the command also contains timing information enabling thetag to match its reception windows with those of the reader'stransmissions. If such a command is not received for a certain amount ofreception periods, the tag moves back to standby state (to stage 820)

If a sphere command is received, the tag moves (to stage 840) intosphere initiation process which is part of Sphere state.

If a ranging command is received, the tag moves (to stage 860) intoranging initiation process which is part of ranging state.

If a data exchange command is received the tag moves into data exchangeprocess (stage 833). In this process it communicates directly with thereader, can get or send data, parameters etc.

Sphere

This state includes stages 840, 842, 844, 846, 848, 850, 852, 854, 856and 858.

In this state the reader initiate a sphere of few tags. The purpose ofthe sphere is to validate the existence of the tag around the reader.

First step in this state is the sphere initiation (840) process. At thisphase the relevant tags are already synchronized to the reader. Allparticipating tags get from the reader the sphere parameters (a uniquesphere ID, a specific index for every tag, timing parameters, frequencyhopping plan etc.). Each tag sends an ACK to the reader and the systemmoves to Sphere state

In Sphere state the tag wakes up synchronically (stage 842) and looksfor a reader beacon. The beacon contains the unique sphere ID and maycontain additional information (commands).

If the sphere beacon is detected (stage 844) and there is no additionalcommand (negative response to query stage 856), the tag identifies asphere event (stage 854). It updates its time counting according to thebeacon, and sends an ACK message with its index in the right time slotaccording to its index and sphere initiation parameters. It then goesback to sleep until the next window (back to stage 842).

If the sphere beacon is detected and there is an additional command(positive answer to stage 856), the tag identifies a sphere parameterupdate (stage 852). It updates its time counting according to thebeacon. It also updates the requested parameters (could be an update tothe sphere ID, the tag index, timing parameters etc.). It then sends anACK message with its index in the right time slot according to its indexand sphere initiation parameters.

If the parameter update command is a “sphere cease” command (stage 850),the tag gets back to standby mode.

Otherwise the tag stays in Sphere state and goes back to sleep until thenext window (stage 842).

If the sphere beacon is not detected the tag check the amount ofconsequent reception windows a beacon was not detected (stage 846).

If it exceeds a number (P) that was defined in the sphere initiationprocess, the tag identifies a tag lost event (stage 848). It logs allparameters (time, sphere parameters) and goes back to standby mode

If the number was not exceeded, this is a connection loss event (stage858). The tag increases its reception window (to compensate for timingoffsets) and also set parameters to ensure maximum sensitivity. It thengoes back to Sphere state going back to sleep until the next window

The process describes results in a very low tag power consumption as alltag's active periods are well timed. The reception window narrowed bythe tag tracking the reader's clock. In addition, the message itself isshort (few tenths of microseconds). The response is very short (tenthsof microsecond) and is also timed. The reader activity profile is highersince it is receiving all tag's responses.

Ranging

This state includes stages 860, 862, 864, 866, 868, 870, 872, and 874.

In this state the reader initiates a connection aiming to perform arange/location measurement to the tag using a ranging signal. This couldbe a single measurement, which is used in background scan or a periodicmeasurement which is used in a find me mode.

First step in this state is the Ranging initiation (stage 860) process.At this phase the relevant tags (could be one tag) are alreadysynchronized to the reader. Stage 860 is followed by asking if a singlerange command was received. During the initiating process the readersends the tags whether this is a single ranging procedure (stage 864) ora multi ranging procedure (stage 866). It also sends the tag relevantparameters (timing, indexes etc.)

If this is a single ranging procedure (864) the ranging initiationcommand already includes the timing information for the ranging signal.The tag wakes up in a timeslot set by the initiation phase and looks fora ranging signal. Once the ranging signal is identified a rangemeasurement is done and the tag goes back to standby mode.

If this is a multi-ranging procedure (866) the tag wakes up periodicallyaccording to the ranging initiating parameters and looks for a findbeacon. The find beacon contains the timing information for the rangingmeasurement If the find beacon is received, the tag moves to rangemeasure (868) process where it looks for the ranging signal in the timeslot set by the find beacon. Once identified a range measurement is doneand the tag goes back to multi ranging procedure (866), going to sleepuntil the next wake up slot for a beacon

If a find beacon is not received (stage 870—negative answer), the tagchecks (stage 872) the amount of consequent reception windows a beaconwas not detected:

-   -   a. If it exceeds a number that was defined in the ranging        initiation process, the tag goes back to standby state    -   b. If it does not exceed this number the tag increases its        reception window and goes back to multi ranging procedure (866)        waiting for the next reception slot

FIGS. 5-10 are various timing diagrams illustrating transmitted signalsand reception windows according to various embodiments of the invention.Black boxes illustrate transmissions and boxes with white interiorrepresent reception windows.

FIG. 5 is a timing diagram 50 of an initiation process (stage 812)—thereader transmits multiple generic initiation identifiers 52 and the tagopens reception windows 54 in a periodical manner.

FIG. 6 is a timing diagram 60 of an association stage (stage 818)—thereader transmits multiple pairs of unique identifier 62 and timinginformation 63 and the tag opens reception windows 54 in a periodicalmanner.

FIG. 7 is a timing diagram 70 of an association process that followsstage 818—the reader transmits an association command 72 that isreceived during a reception window 75 of the tag. This is followed byhaving the reader transmit an association data 73 that is receivedduring reception window 75. The process ends with a transmission of anacknowledgement 76 by the tag that is received by reception window 75 ofthe reader.

FIG. 8 is a timing diagram 80 of a standby stage (stage 820)—the readertransmits multiple reader generic initiation identifiers 52 and the tagopens reception windows 54 in a periodical manner.

FIG. 9 is a timing diagram 90 of an awake stage (stage 824)—the readertransmits multiple pairs of tag and command identifier 92 followed bytiming information 93 and the tag opens reception windows 54 in aperiodical manner.

FIG. 9 is a timing diagram 90 of an awake stage (stage 824)—the readertransmits multiple pairs of tag and command identifier 92 followed bytiming information 93 and the tag opens reception windows 54 in aperiodical manner.

FIG. 10 is a timing diagram 111 of a sphere initiation stage (stage840)—the reader transmits a sphere command 112 that is received during areception window 112′ of the tag. The sphere command can include pairsof (a) sphere identifier (kit ID) with or without sphere commands and(b) timing information. This is followed by having the reader transmit asphere initiation 113 that is received during reception window 115. Theprocess ends with a transmission of an acknowledgement 116 by the tagthat is received by reception window 114 of the reader. Reception window114 is wide enough to get acknowledgments from all other tags of thesphere (see slots 116′).

FIG. 11 is a timing diagram 111′ of a sphere beacon stage (stage842)—the reader transmits a sphere initiation 113 that is receivedduring a reception window 115 of the tag. This is followed by having thetag transmit an acknowledgement 116 by the tag that is received byreception window 114 of the reader. After the initiation the followingsequence is repeated—the reader transmits a sphere beacon 117 that isreceived during tag reception window 118. The tag transmits anacknowledgement 119 that is received by a slot 119′ of reception window119 of the reader. Reception window 119 is wide enough to getacknowledgments from all other tags of the sphere (see slots 119″).

FIG. 12 is a timing diagram 120 of a single ranging procedure (stage865)—the reader transmits a ranging command 121 that is received duringa reception window 121′ of the tag. This is followed by having thereader transmit a single ranging initiation 122 (includes timinginformation 122″) that is received during reception window 122′ of thetag. The reader then transmits a ranging signal 123 that is receivedduring reception window 123′ of the tag. The tag then transmits aranging signal 124 that is received by the reader during receptionwindow 124′ and then transmits ranging data and acknowledgement 125 thatis received by the reader during reception window 125′. The latterprocess (123, 124 and 125) can be repeated for multiple tags.

FIG. 13 is a timing diagram 130 of a multiple ranging procedure (stage866). The timing diagram illustrates events after the transmission (notshown) of a multi ranging command that is received during a receptionwindow of the tag. This is followed by having the reader transmit amulti ranging initiation 131 (includes timing information 132) that isreceived during reception window 131′ of the tag. The reader thentransmits a ranging signal 133 that is received during reception window133′ of the tag. The tag then transmits a ranging signal 134 that isreceived by the reader during reception window 134′ and then transmitsranging data and acknowledgement 135 that is received by the readerduring reception window 135′. The latter process (133, 134 and 135) canbe repeated for multiple tags. The reader can transmit (in a repetitivemanner) a find beacon 136 that is received during reception window 136′of the tag. The reader then transmits a ranging signal 137 that isreceived during reception window 137′ of the tag. The tag then transmitsa ranging signal 138 that is received by the reader during receptionwindow 138′ and then transmits ranging data and acknowledgement 139 thatis received by the reader during reception window 135′. The latterprocess (137, 138 and 139) can be repeated for multiple tags.

FIG. 14 is a timing diagram 140 of a multiple ranging procedure (stage866). The reader can transmit (in a repetitive manner) a find beacon 136that is received during reception window 136′ of the tag. The readerthen transmits a ranging signal 137 that is received during receptionwindow 137′ of the tag. The tag then transmits a ranging signal 138 thatis received by the reader during reception window 138′ and thentransmits ranging data and acknowledgement 139 that is received by thereader during reception window 135′. The latter process (137, 138 and139) can be repeated for multiple tags.

Ranging Methods

This section describes various ranging procedures according to variousembodiments of the invention.

The purpose of the ranging procedure is to measure the direct distanceof a tag from the reader. It is using time of flight (TOF) measuring theflight time of wireless signals. As the measurement is done by a singlereader, or by few non-synchronized readers the measurement is a two wayTOA measurement—the reader estimates the time it takes a signal totravel to the tag, and back to the reader.

Dividing the overall propagating time by 2 gives the flight time andknowing the propagating speed of the signal the reader can estimate thedistance. This is described for a single tag but is can be repeated withmultiple tags responding to a single ranging beacon and ranging signalfrom the reader in a pre-defined order

The reader initiates the ranging process and controls it

The tags are usually slaves, and respond to the reader ranging beaconand ranging signal.

The system also supports ranging process between two tags, while one ofthem takes the “reader's role”

The smart device application is not involved in the ranging procedureitself. In case of a “find” procedure it acts as a GUI for the user toinitiate the process. The reader may report the ranging results to theapplication at the end of the procedure using the reader-smart deviceapplication connection

The reader-Tags connection is a wireless connection. The processinvolves two kind of communication signal:

-   -   a. “Narrow band”—those are used for communication. This could be        the same kind of signal used for sphere etc.    -   b. “Wide band”—those are used for the ranging signal, leveraging        the fact that wide band signal can achieve better spatial        resolution

Examples for narrowband methods used for communication: Bluetooth, BLE,802.15.4 (Zigbee), most cellular standards (GSM etc.). Generally narrowband communication has usually <10 MHZ Bandwidth.

Wideband methods: schemes with enough bandwidth that enables theseparation of reflections in an indoor environment: these could be802.15.4a UWB PHY (500 MHz BW), IEEE802.11ac (latest Wi-Fi standard80-160 MHZ), 802.11g/n (20-40 MHz)

Ranging Process

After bringing the tag(s) to ranging state (single or multiple) bysending a ranging command, the tag(s) are already synchronized to thereader. The reader sends a ranging beacon, followed by a ranging signal.

The ranging beacon is a narrow band signal which contains the following:

-   -   a. The Tag(s) ID    -   b. RSSI information of the tag reception—this helps the tag        calibrating its circuits for the ranging signal    -   c. Timing information on when the reader will send the ranging        signal. By sending that information the tag can open a very        short reception window for the ranging signal (resolution may be        a fraction of a narrow band symbol length) reducing its power        consumption and implementation complexity.    -   d. Additional information that can help the tag

The ranging signal is a wide band signal which is sent at a fixed delayafter the ranging beacon has been sent. It contains the following:

It may contain the tag system ID

It contains a fixed correlation sequence which is known to allparticipating tags.

The tag receives the ranging beacon and prepares its wide band circuitryto receive the ranging signal based on the ranging beacon parameters.After successful correlation the tag sends back to the reader the sameranging signal, which the reader correlates. Following that, the tagsends ranging data message or a tag timing message which is a narrowband signal that contains:

-   -   a. Timing information from the tag (see details in coming        paragraphs):    -   b. The tag processing time from correlation to ranging signal        send completion (Ttag_processing)    -   c. The estimation of the correlation time error (t_err_tag)    -   d. The tag->reader->tag estimated flight time in a double two        way TOA measurement (T_trip_(—)2)    -   e. The Tag ID as an Ack    -   f. Additional data required by the reader.

Single Two Way TOA Measurement

The following text and FIG. 15 describe a timing of the single two wayTOA measurement. The fact that it is two way method eliminates the needfor clock synchronization between the reader and the tag. This method issensitive however, to clock frequency difference (drift) between the tagand the reader which results in an error, especially when the tagprocessing time is. A simplified timing flow is shown in the followingdiagram:

The reader sends (151) the ranging beacon followed by the ranging signal(152). After sending the ranging signal the reader triggers a timer tomeasure (count) the overall procedure time. This time is markedT_round_trip 158. The propagation time of the ranging signal from thereader to the tag marked T 157 is the parameter that the procedure aimto estimate. Multiplying T with the propagation speed (c for wireless,sound speed for ultrasonic) will result in the distance estimation.

After receiving the ranging signal the tag start measuring itsprocessing time 159. The processing time is the time from the receptionof the correlation sequence of the ranging signal till the tag completeto send its ranging signal response to the reader. This measurement ismarked with T_tag_processing 159.

The tag sends back its ranging signal 153. The assumption is that thelocations of the tag and the reader as well as the environment are notchanging significantly within the time of the measurement, so thepropagation time of the signal from the tag to the reader is also T.

After receiving the tag's ranging signal response the reader stop itstime measurement. It now has an estimation for T_round_trip 158.

The tag sends a timing message 154 containing its measurement forT_tag_processing 159 as well as the fractional error for the correlationmeasurement (t_err_tag, see next paragraph).

As T_round_trip=2*T+T_tag_processing, the reader has all the informationto extract T.

There are two main error factors in the procedure:

-   -   a. Clock offset between the tag and reader can result in an        error, especially in the case where T_tag_processing>>T. This is        because T_round_trip is measured with the reader clock and        T_tag_processing with the tag clock. This error could be        compensated either by the reader measuring the clock offset        during the reception of the Tag's timing message of by a double        two way TOA measurement (see on following paragraphs).    -   b. The time difference between the actual arrival time of the        ranging signal to the tag or reader and the time the receiver        acknowledges it happen. This is discussed in the next paragraph.

Timing Details of Two Way TOA Measurement

This section describes the timing details of the two way TOAmeasurement, focusing on the ranging signal. The timing diagram isillustrated below:

The reader and tag has the PHY clock frequency (not synchronized). Thoseclocks (clock 161 of the reader and clock 164 of the tag) could have asmall offset which is irrelevant to this paragraph.

The reader sends the ranging signal 152 which is built from a sequenceof several ranging symbols. This sequence is naturally synchronized tothe reader's clock. The reader triggers a measurement of T_round_trip158 driven by this PHY clock (161) at the end of the last symbol of theranging signal.

The tag receives this signal with a delay of T 157. In this example, thereceived correlation peak happens at the end of the reception of theranging signal marked with “real t_tag_correlation” 165. The tag PHYidentifies this correlation in the next clock cycle, at a time called“estimated t′ tag_correlation” 166. This correlation is used to triggera tag timer measuring T_tag_processing 159.

Depended on the clock frequency, the clock period could be too largecompared to the required accuracy of the estimation of T. In this case,the tag estimates the “real t_tag_correlation” 165 time usingcomputational methods, taking into account the data sampled during theentire correlation sequence reception. From that computation thefractional error parameter t_err_tag 161 can be estimated. Thisparameter is sent back to the reader as part of the tag timing messageso this computational task is not timing critical (it has nothing to dowith tag processing time from ranging signal reception to transmission)and can be done “offline”. The computational methods used to estimatethe error may be:

-   -   a. FFT based    -   b. Super resolution based    -   c. Maximum likelihood estimation

After reception, the tag moves from RX to TX and transmits back theranging signal 153 to the reader. The measurement (counting) ofT_tag_processing 159 is completed by the transmission of the last symbolof the ranging signal.

The reader receives this signal with a delay of T 157. In this example,the received correlation peak happens at the end of the reception of theranging signal marked with “real t_reader_correlation” 167. The readerPHY identifies this correlation in the next clock cycle, at a timecalled “estimated t′ reader_correlation” 168. The correlation of theranging signal at the reader triggers the freeze of the countermeasuring T-round_trip 158.

As with the tag, during the reader's reception of the ranging signal,there is an error in the correlation time estimation called t_err_reader169, and the reader can estimate that error using similar computationalmethods as in the tag case (the reader can use a different method).

After the reception of the tag timing message, and using the errorestimations of the correlation times the reader can now estimate T witha sub clock period accuracy.

Double Two Way TOA Measurement

FIG. 17 and the following paragraphs illustrates a method to cancel mostof the error which is caused by the drift between the readers and tag'sclock. In this method the two way TOA measurement is performed twice—onemeasurements Reader->Tag->Reader and another one is Tag->Reader->Tag. Asthe main factor for offset error is with the estimation of theprocessing period, and as is each measurement the processing period ismeasured with a different clock, the error eventually cancelled out. Themethod is illustrated in the diagram below:

The reader sends a ranging beacon 151 that is followed by transmittingthe ranging signal 151 and triggers T_trip_(—)1 179 measurement.

The Tag receives the ranging signal and triggers T_tag_processing 159measurement.

The tag sends back its ranging signal 153, stops T_tag_processing 159and starts T_trip_(—)2 177 measurement.

The reader receives the ranging signal, stops T_trip_(—)1 179measurement and starts T_reader_processing 178 measurement.

The reader sends another ranging signal 171, and stopsT_reader_processing 178 measurement.

The tag receives the ranging signal and stops T_trip_(—)2 177measurements.

The tag sends the tag timing message 172 including now also T_trip_(—)2177.

The reader now performs two calculations based on two equations:

-   -   a. T_trip_(—)1=2*T_(—)1+T_tag_processing    -   b. T_trip_(—)2=2*T_(—)2+T_reader processing

The estimation T=(T_(—)1+T_(—)2)/2 cancels out, to first order the clockoffsets error

Sphere Connection

This section describes the sphere connection. A sphere is a subset oftags that are connected to a reader or few readers, in a beacon(s)driven centralized network. The main purpose of the sphere is toperiodically validate the existence of the tags within the sphere byvalidating their connection to the reader. An illustration of a sphere180 is shown in FIG. 18:

The reader 181—initiates the sphere and manages its timing

The tags 182 assume a slave position, i.e. they respond to the readerbeacon request. There could be an arbitrary number of tags (N) in asphere.

The smart device application 183 acts as an additional GUI for the userto initiate a sphere, cease it and get indications

The Reader-Tags connection 184 is a wireless connection

The Reader-Smart Device Application 185 connection is a wired orwireless connection

Sphere Set Up

A sphere is set up by the user or by a time/event driven process or bylocation event (e.g., application sets a certain sphere every day at 8AM or starts a sphere when we leave home and ends it when we arrive tothe office). The user can set up several spheres. The sphere setup couldbe done in several ways. The following describes options for setting upa sphere by a user using the application:

-   -   a. The user selects specific tags (or items which tags are        attached to) that the user wants to initiate a sphere with. The        application sends the reader the relevant tag indexes    -   b. The user selects a predefined set of tags (or items which        tags are attached to). This set is called “a kit”. The kit        correlates to one of few broadcast IDs tags could have, and is        also known by the reader, so the application only need to sends        the reader the kit index    -   c. The user selects to set up a sphere to all tags with are in        proximity (of certain distance for example—one meter) to the        reader. The reader then sends a broadcast command to all tags        (using one of the broadcast IDs tag gets during initiation)        using pre-defined output TX power (to control range). The reader        identifies the tags in range and set up a sphere with them. The        user can later manipulate manually the set of tags

Time/event driven sphere could be set up using the two latter modes(pre-defined kits or all tags within range)

There could be option to add or delete tags from pre-defined KIT duringthe activation

FIG. 19 is a timing diagram 190 of a sphere initiation in which thereader transmits a sphere identifier (sphere ID or kit ID), an optionalsphere command (both denoted 191) and timing information 191′ that isreceived during a reception window 192 of tag1 and a spaced apartreception window 192′ of tagN. The sphere command can include pairs of(a) sphere identifier (kit ID) with or without sphere commands and (b)timing information. This is followed by having the reader transmit asphere initiation 193 that is received during overlapping receptionwindows 193′ and 193″ of tag1 and tagN. The process ends with atransmission of an acknowledgements 194′ and 194″ by tag1 and tagNduring two out of N timeslots 194(1)-194(N) of reception window 194allocated by the reader for receiving ACK messages from N wireless tagsof the sphere.

FIG. 20 is a timing diagram 200 of a sphere beacon stage (stage 842)—thereader transmits a sphere initiation 193 that is received during areception windows 193′ of tag 1 and reception window 193″ of tag3. Thisis followed by having tag1 transmit an acknowledgement 194′ and havingtag 3 transmit an acknowledgement 194″ during first and thirds slots outof N slots of reception window 194 of the reader.

After the initiation the following sequence is repeated—the readertransmits a sphere beacon 195 that is received during tag1 receptionwindow 195′ and tag3 reception window 195″. This is followed by havingtag1 transmit an acknowledgement 197′ and having tag3 transmit anacknowledgement 197″ during first and third slots out of N slots ofreception window 196 of the reader.

FIG. 21 is a timing diagram 210 of a beaconless state in which a readertransmits a sphere beacon and an instruction to operate in a beaconlessmode in which tags transmit ACK messages even without receiving thebeacon from the reader—and after an expected time of reception of thebeacon.

The reader transmits a sphere beacon 211 that includes a command toenter for few cycles into a beaconless state. This is received duringtag1 reception window 211′ and tag3 reception window 211″.

This is followed by having tag1 transmit an acknowledgement 212′ andhaving tag3 transmit an acknowledgement 212″ during first and thirdslots out of N slots of reception window 212 of the reader.

This process may repeat multiple times. FIG. 21 also illustrates anenlarged reception window 214′ and 214″ for receiving a beacon 214 fromthe reader.

This is followed by having tag1 transmit an acknowledgement 212′ andhaving tag3 transmit an acknowledgement 212″ during first and thirdslots out of N slots of reception window 212 of the reader.

FIG. 22 is a timing diagram 220 that illustrates a lost connectionevent.

The reader transmits a sphere beacon 211 that includes a command toenter for few cycles into a beaconless state. This is received duringtag1 reception window 211′ and tag3 reception window 211″.

This is followed by having tag1 transmit an acknowledgement 212′ andhaving tag3 transmit an acknowledgement 212″ during first and thirdslots out of N slots of reception window 212 of the reader. This processmay repeat multiple times.

FIG. 22 also illustrates a drift of an enlarged receive window 215opened by tag3—the drift causes tag3 to miss the beacon 214 set by thereader. At the following cycle (or after few cycles) tag 3 opens afurther enlarged reception window 216 and receives beacon 214.

This is followed by having tag1 transmit an acknowledgement 212′ andhaving tag3 transmit an acknowledgement 212″ during first and thirdslots out of N slots of reception window 212 of the reader.

User Parameters

In the tag association process, each tag is associated with criticalityparameter indicating the expected behavior in case of a “Absent Tag”event while in a sphere. This information is stored in the reader aswell as in the smart device application. Few examples for behavior:

By logging the event the reader and smart device application record allparameters during the event (e.g. time, GPS location is available, WLANAP connection Base station ID, ID, BT connection ID etc)

In case of an “Absent Tag” event—log the event and create a userindication immediately. Try to reconnect to the tag

In case of an “Absent Tag” event—log the event, try to reconnect to thetag, yet create a user indication after a certain timeout (example—tagis identified as still absent after 10 sec, the system tries toreconnect and if it fails it generates a user indication after 2 min)

In case of an “AbsentTag” event—log the event, reader tries to reconnectto the tag and create a user indication only after there is a locationchange trigger by the reader (example—tag is identified lost after 10sec, the system tries to reconnect and if it fails it will generate auser indicating only if the reader has been moving for more than fewmin, or the system identifies location change by associating to WLAN,GPS indication from the smart device application etc)

In case of an “Absent Tag” event log the event, try to reconnect to thetag for a predefined amount of time, and if fail do nothing

Sphere Initiation and Activity

After selecting the tag subset the user and setting up the sphere, theuser initiates it:

-   -   a. In case of a pre-defined kit the reader will move all tags        within range to awake state, it will then send a sphere command        with the kit ID. After that the reader will send a sphere        initiation command with the kit ID. In the sphere initiation        command the reader can change the kit ID to an ad hoc Sphere ID.        All kit members have pre-defined indexes (set up during the kit        set up). This index defines the ACK slot position. From this        stage, the sphere is set up. The reader sends periodically a        beacon with the sphere ID, the tags respond according to their        indexes.    -   b. If there is not pre-defined kit, the described process is        repeated per tag

The reader can send the tags a command to get into a beaconless respondfor few cycles. In this case the tags send their ACK in the estimatedtime of the next slot even if beacon is not received. Their receptionwindow on the next beacon may be enlarged (see, for example, FIGS. 21and 22).

The reader can occasionally change the sphere ID (to ensure privacy, orfor other reasons) by sending a change command within the beacon.

The frequency where the communication takes place could change (hop)every connection slot. The reader may define the hopping scheme duringthe sphere initiation phase

The tags estimate their clock drift relative to the reader with thereception of each beacon, and compensate for this drift in time countingfor the next window. This is done in order to save consumption ofcurrent. In the case an expected beacon is not received, the tagincreases its current and next reception windows to maximum. Tocompensate for connection lost because of time and not range If nobeacon reception is accomplished in the next L (pre-defined) windows(hence no ACK is sent for those slots), it is a “tag lost” event. Thetag goes back to standby mode, the reader and application behavesaccording to the “user defined parameters”.

Tag Description

Wireless tags are designed to be very small form factor, with long lifecycle, simple to use, reliable and robust to environment conditions andvery cost effective.

Physical Structure

The wireless tag can be of various dimensions, sizes and circuitry. Itcan be manufactured according to any prior art method.

Wireless tag size—As an example, a tag could have the followingdimension 28×14×1-1.5 mm and its weight will be below 2 gr.

The mechanical structure could have up to seven layers. Some tags willbe designed with all seven layers and others will be designed with asubset of those layers. On some cases some layers will be merged to asingle layer.

FIG. 23 is a cross section of tag 230 attached to object 239 accordingto an embodiment of the invention.

The tag 2300 may include layers 231-236.

Attachment layer 236—most common will be universal adhesive sticker, butfor some application we might need to develop special solution—sampleattachment to my ski gloves, other fabric made objects.

Attachment layer alternative list:

-   -   a. Universal glue sticker with cover that the user will remove        before sticking to the target item.    -   b. Mechanical contact for fabric—like plastic tiny nails and        nuts.    -   c. Fast non adhesive sticker    -   d. Sleeve.    -   e. Zipper    -   f. Etc.

Substrate layer 235—some elastic, dielectric isolated material, about1.2 mm thick use in case of metal tagged object. Antenna may use thebattery or object as a ground plane.

Tag circuit layer 234—build on flexible thin FR4 PCB with optionalprinted antenna. Structure will enable to be encapsulated by theBattery.

Battery layer 233—either a flexible battery or a rigid one with specialstructure that either will be designed to be non-replaceable or mightenable the user to replace the battery. Battery can be primary orsecondary.

Printed antenna layer 232—can be separate layer, printed on batterysleeve or printed in Tag circuit.

Cosmetic layer 231—can be part of the battery but might be design to besticking and enable people to personalize the tag. It might represent amarketing value add.

FIG. 24 illustrates a top view and a cross sectional view of battery244, and a tag and antenna portion (242 and 246) of a tag according toan embodiment of the invention. The antenna can have a trapezoid crosssection and may fit into a fitting opening formed by the antenna andcircuit portion.

FIG. 25 illustrates various electrical components of the tag accordingto an embodiment of the invention.

It includes a dual band antenna 251 connected to an ASIC 252. The ASICis fed by a slow clock (slow XTAL 253) and a fast clock (fats XTAL 254).It is connected via a one-time switch 256 to battery 255. The slow clockcan generate a clock signal, for example at 32.768 KHz. The fast clockcan generate a megahertz range radio frequency clock signal.

These electrical components can be assembled on a flexible PCB. The ASIC252 may check the status of the battery 255 after converting analogreadings of the battery voltage and/or current using an analog todigital converter 257.

FIG. 26 illustrates the ASIC 252 and dual band antenna 251 according toan embodiment of the invention.

ASIC 252 may include a portion 260 that is always open and MCU and PHYdomains 261 and 262 that can be selectively shut down when operating ina power saving/low power mode.

Portion 260 includes an oscillator 2601, timers 2602, power on reset2603, wake up state sequencer 2604 and registration registers 2605.

MCU domain 261 includes MCU 2611, RAM 2612, ROM 2613 m JTAG module, ADCmodule, UART/SPI module, LDO 261-2617.

PHY domain 262 includes modem 2621, a wideband reception andtransmission circuitries (balun 2628, receive transmit switch 2629,amplifiers 2627, pulse shaper 2627, filters 2623, mixers 2626, andnarrowband IQ ADC 2624), a narrowband reception and transmissioncircuitries (balun 2628, receive transmit switch 2629, amplifiers 2627,filters 2623, mixers 2626 and narrowband IQ ADC 2624)—both are fed by afrequency synthesizer 2622 (includes phase detector PD oscillator andfrequency divider).

Both narrowband and wideband circuitries are illustrated as applyingquadrature modulation (I and Q channels) but other modulations can beapplied.

Reader Description

The reader is part of the PGA (personal Gear assistance) system. Thereader is the central unit that communicates with the user's tags on onehand and the smart device/application on the other hand. The reader canestimate the range and direction to the tags. Generally it has twooperating modes—Smart device gateway, or stand lone (SA). In gatewaymode it sends its estimated data to the application/smart-device, instandalone mode f it works independently and display the results on alocal display.

The reader may be designed to be compact, stylish in form factor, withrechargeable batteries, simple to use, reliable and cost effective.

The reader can communicate with the smart-device using Bluetooth,Bluetooth Low Energy, WLAN or any other suitable wireless or wiredtechnology, and with the tags by communication protocol. It cancommunicate with other readers either using either thesmart-device—reader communication technology or communication linkdepend on the use case.

Reader design example:

-   -   a. Reader device dimensions are about 70×50×5 mm    -   b. Slave only version without screen is 60×40×3 mm    -   c. Weight—20 gr

FIG. 27 illustrates reader 270 front panel according to an embodiment ofthe invention. It includes:

-   -   1. Reader case—rectangle box about 70×50×5 mm    -   2. Main display 272—color LED LCD display with optional touch        screen.    -   3. Three soft keys (273,274,275)—that automatically display user        commands options.    -   4. Three display command windows 276 that display actual command        option.

FIG. 28 is a side view of the reader and it includes

-   -   a. Reader case 281—rectangle box about 70×50×5 mm, and display        282.    -   b. Sliding element: 287—Sliding element for attached the reader        to smart device adaptor (optional)    -   c. Upper side—Three indication LEDs 288—Power on, Smart device        link, and Multi color indication LED.    -   d. Lower side—two hidden switches 289, on/off switch and slide        in micro switch that shut down the LCD for reader attached to        Smart device adapter. Also charging jack.

Examples of ID design guidelines and comments.

-   -   a. Screen—LED or TFT, low profile.    -   b. Li Ion Rechargeable battery—built in not replaceable.    -   c. Fully sealed design. IP65.    -   d. LCD display will be designed as module—Reader will be fully        slave functional without the LCD.    -   e. Smart device attachment—will be designed with so it can fit        easily to new Smart device.    -   f. Special charger adapter will enable parallel charging of        smart device and reader.    -   g. ID may include always on accessories: Smart device adapters,        hand digital clock, belt adapter.    -   h. spare magazine—optional slot in the reader for 1-2 spare tags        that user can add for ad hoc item

Reader detailed description of GUI elements and operation buttons

Main screen GUI elements

8 direction compass Rose

Display window/line—distance in meter 1 digit resolution anddirection—I.E “2.7 m NW”

Status/search window—“not found”, “item found” “item is missed” etc. andevent hour I.E “wallet found, 09/23/12 10:45” Or—screen is off onlystatus line show—“connected to App”

Optional location window: IE “at home” or “at kitchen”

Optional map display.

Items ICON—ICON for most popular items.

LOGO.

Soft display command—see below

Cold/warm display—graphic two color (faint to bold dark) indication forcold/warm (or close/far) indication.

Up down display—indication for up direction or down direction inmultiple floor site.

Wait bar or line or both display I.E “searching now . . . ”

Battery indication—status and charging.

Soft keys: up to 4 Letter display. Buttons below is written from left toright. I.E—FIND in (1.) is the most left button and OFF the most right.

Default display—FIND (start find process), SPHR (Start Sphere and autoincludes all), MENU

FIND operation Select item to FIND—UP, DOWN, SLCT or OK (Up down willscroll items list/icons)

FIND operation, FIND process—FIND (restore same item search), OK/Dismiss(confirm Item found), Main (return to main menu).

Sphere creation option A—ADD (add element to KIT), DEL (delete elementfrom KIT), OK (confirm and lock).

Sphere creation (after add ADD or DEL)—Up/down, OK (OK confirm add ordelete and return to (4.)

Sphere maintenance—Mode (default immediate, toggle to quiet), STOP(release sphere)—stop sphere. FIND (start FIND but without stop thesphere—sphere restore automatically after FIND.

MENU operation—Back (return to default display), Configure (select menuoption), /Off (soft off button).

Configure—Sphere option (Kit selection), Buzzer volume, other TBD.

Reader circuit block diagram

Ant 290—multi band antenna.

Dual band Modem 291—chip—PHY for TAG or inter reader communication.

Bluetooth/BLE Ant 292—BT/BLE antenna for Smart Device or other readercommunication.

BT/BLE controller 293—Smart device/reader communication device.

Main CPU and Memories 294—low power high performance CPU and memories.

Inertial sensor 295—2 or 3 Axis inertial sensors.

Compass sensor 296—2-3 Axis compass eSensor.

Display 297—LED or TFT display, modular element. (Can be removed inproduction for only slave unit). 3 LED indicators.

Soft Keys buttons 298—3 control buttons.

Power management circuit 299—LDOs, power save circuit. Battery chargecircuit.

Hidden on/off switch 292′—hidden (non-convenient access) power switch.

Li ION rechargeable battery 291′

Micro switch 293′—off the LCD and button on slave attached mode to smartdevice.

Buzzer 294′—used to find reader by smart application

More Example for Application

This section lists more applications that could be established on top ofthe described technology platform:

ADT silent alarm

App: identify and notify the user of items being moved in the house. Asa product or as a hook in for service provider like ADT.

Medication container tagging and reminders

App: reminder to take pills, reminder when leaving house that you areleaving without the pills you have to take in 1 hour

Wine collectors

App: tag wine, guide collector to bottle on demand or on system trigger(bottle reached its ideal timing). Alert on temperature or humidity

Other collectors: DVD, cd, books, comics

Same app and considerations as wine

Ski kits weather proof tags

Runners/Tirathlones

Tag all needed stuff for arace/practice—shoes/socks/clothes/watch/cap/energy gels/registrationetc.

Adventure competition

Running/biking/navigating in relations to others, in relations to taggeditems etc (tough mudder, etc

Gaming extension to Wii or Kinect that extends the interaction to itemslike a ball, a bat, a gun etc

Social find

App: find users in a public place, accurate in door find, dating sceneetc.

Sports app:

Automatic score loggers and “recorders”—not a video image capture—butdigital recorder of items and users location that did what and was wherewhen.

Basketball: reader on the hoop, tags in the ball

App: automatic score and stats board

App: auto digital recorder in your iPhone/smartphone of game forplayback, logging, analysis and Facebook or alike upload

Players may wear tagged wrist bands etc

Baseball

App: speed of ball, angle of impact, distance of ball, glove to ballanalysis

Tags or readers may be in gloves, club, balls etc

Golf

-   -   a. Where is the ball    -   b. How far are we from the hole    -   c. How fast did I hit it?    -   d. Automatic logger

Tennis

Auto score logger

Blow by blow playback

Smart Home automation

Smart home event creations

App: using the reader and tags location to create events that effectsmart home operation. Examples:

-   -   i. Turn on TV on my channel when I walk in the media room    -   ii. Turn on my music when I walk in

Low cost flower pot humidity measurement, reminder to water house flowpots.

Specialized tags

Forward calls to the room I'm in

B2B and organizations apps

Libraries asset retrieval w finder

App: find titles on the shelves

Titles are books DVD CDs magazines

Museum location based audio guide

The user carries a reader and gets info per each art piece throughhis/her smartphone based on the user location

Each art piece location is individually tagged

Museum customized tour

The user app asks for users to define his/her areas of interest and thenguides the user through a tour based on repetitive “find” to next tag

Large store supermarket item locator

In a Large store find the aisle (“Mexican food”) or category (“importedcheeses”) or brand (“Malka beer”). Tagging the store isle or shelf andputting reader on the cart, cloud app translates item to location andfinds the relevant tag

Find a product based on search—tells you where to find it

In mall store locator tagged stores

Same as in supermarket

Potential tag forwarding for distance considerations

Any small shop or SOHO or room/space in big company inventory management

Find using store owned reader

Value added buyer interaction data (what product was most moved)

Children and pets

Children monitor:

-   -   a. 1-3 year baby monitor—mom/dad is aware where the baby is        located.    -   b. Alarms if distance from reader>then threshold    -   c. 0-2 year—add wet diaper monitor.    -   d. Alarm in case—baby cry, baby stop breathing etc

Children gardens or school bus or at tour—

-   -   a. Monitor that all children at the garden square or all        children belong to the group are not lost.    -   b. All kids that came off the bus later came back on the bus (a        form of sphere)    -   c. Record incoming and outgoing log

Theme park finder and kids control

-   -   a. App associates tags (bracelets) to each other, and enable        reader cloud to be accessed from appx for tags y and z only    -   b. Examples: if parent has tag x, child has tag y and parent        uses app z on a smartphone    -   c. The Parent (smart device app z) sets an alert that child        (tag y) is missing, the readers will all look for tag y, and        will show the child to the parent smart phone only    -   d. The exit guard will only let child leave the premise when        accompanied by parent (the system will alert if a child leaves        w/o parent or w no tag)

Accurate location Pet monitor

Inform when pet gets out of the house yard.

Combine with triggering event like electric shocks and array of low costreader.

Low cost solution for accurate of navigation of robots.

Find tags or triangulate multiple tags to establish location

Smart case—very similar like PGA sphere concept with the difference thatthe reader is attached or built in the case or bag etc. will createalarm whenever item is “out of the case”.

Smart Shopping Bag.

The bag has a built in reader with barcode or RFID capabilities andassociate a software tag for each item that is in the bag that wereidentified, and removed it when its take out

Military smart dust. Examples:

-   -   a. Platoon auto numbering.    -   b. Auto inventory of relative big items—like shells of canons,        tanks etc,

Agriculture wireless sensors.

Industry—locator of tools (do not forget) in big Hangars. (Like Boinghangar).

Industry—CCM—cold chain management.

Aviation (similar to 32). FOD is Foreign Object Damage to planes oftencaused by misplaced tools after maintenance.

Aviation: tag passengers and baggage to know all are on board, at thegate etc. For security, tag handbags so when found can be identified andalso make sure a passenger stays with his handbag during stay in theterminal.

Lost and found apps:

Basic app with basic “name tag” readable to any reader. If you tag yourgear with these cheap tags, can provide a secure and trusted service,over the cloud, to re-claim lost items left behind as long as there is areader there.

Single Reader Positioning

Current systems built for identifying the position of a certain itemusually focus on estimating the position of the item relative to several“readers” or “hubs”, each of which is at a known position. The GPSsystem is a simple example of that concept (the station or “the item”estimates its position relative to the satellites, while the position ofthe satellites is known). This is also the concept of current RTLS, orReal Time Location Systems, where each of the readers is usually fixedin space to a known position.

In order to estimate the position of the item vs. each of the “readers”one needs to estimate the distance and/or the angle between the item andeach of the “readers”. The estimation could be absolute or differential(i.e. estimation of distance could be done with ToA or DToA). Currentsystems usually require at least 3 different readers in order to providean estimate.

Naturally, the error in the estimation of distance and/or angle resultsin inaccurate calculated position: Specifically, instead of deriving alocation of a single point, the calculated position estimation will varyinside of either an area (2D) or a volume (3D) the dimensions of whichdepend on the reader to items distance and/or angle estimation errors.

Distance estimation could be done using time of flight techniques (RF,optical, Ultrasound etc), measurement of received signal strength (RSSI)or any other relevant technique.

Angle estimation is usually based on reception of a signal by severalantennas and estimation of the received signal angle by comparing thesignal phase of each of the different antennas. The main disadvantage ofthat approach is the space required between the different antennas,causing the reader size to increase

Single Mobile Reader Concept

The approach described below enable the use of a single, small & mobilereader in order to estimate the position of an item. Being small andmobile—this reader implementation is suitable for integration as partof, or working alongside mobile instruments such as a mobile smart phoneetc. The position estimation of the item (distance and angle) is givenrelative to the mobile reader

The concept of operation is to perform several distance measurementsover time, while tracking the movement trajectory of the reader. Thisway the reader gets distance estimations to the item from severaldifferent locations. As the reader knows the relative position of themeasurement locations and assuming the item is stationary within themeasurements period, the reader can generate an estimation of the rangeand angle of the item, relative to the reader location after a minimumof 3 consecutive distance estimations.

FIG. 30 illustrates the process—the location (301) of the first distancemeasurement is marked as the origin. After that the reader 304 is moving(from first location 301 to second location 302, and its trajectory 306is tracked. The reader performs additional distance measurements overtime. Using the tracked trajectory, the reader can then map thelocations of the distance measurements—(X1,Y1)==(0,0), (X2,Y2), (X3,Y3)and potentially more (Xn,Yn). Per each measurement position the readermeasures the distance Rest(n).

The crossing of the circles 301″ (first measurement), 302″ (secondmeasurement) and 303″ (third measurement) with Radius Rest(n) 301′, 302′and 303′ and center locations (Xn,Yn) is the estimated position of theitem (X′,Y′). Since the Cartesian system illustrated is determined bythe initial reader position and initial movement direction the estimatedlocation of the item is relative to the reader's position(s).

If one wants to show on a screen the estimated direction of the itemrelative to the reader, the orientation of the screen or the userrelative to the first reading needs to be tracked as well over themovement trajectory.

The estimation could use 3 or more measurement positions. More positionsmay result in better accuracy but also in higher computation so thesystem can “reset” the origin every once in a while or move a “slidingwindow” of positions, using a constant number of positions while olderones are being discarded as new measurement are being done. Measurementscould be weighted according to a quality metric, outliers could becompletely discarded

Tracking the Movement Trajectory and Orientation

In order to track the movement trajectory of the reader, it may usecommon sensors (inertial and others) such as gyroscopes, accelerometers,E-compass and others. Those sensors are commonly use in smartphones andother “smart devices”. If the reader resides inside a smart phone or asmart device (like a notebook or a tablet etc) it may use them directly,if it is external, and moves alongside the smart device it may get theinformation from the smart device. Another option is for the reader totrack its absolute location using RTLS system or GPS system or alocation based on communication with Wifi AP (fingerprinting, ToF, RSSIetc) or similar, proximity based system or similar positioning system.On this case the reader uses as a hub or and extender enabling theestimation of the location of items that cannot communicate directlywith that positioning system

The reader may include, in addition the system described above, anantenna array enabling it to estimate the AoA (Angle of arrival). Thiscould enhance the accuracy and speed of the “item” position estimation.

Depended on the item distance and user preference, the reader may give arough estimate of angle and distance (for example, 90 degreesgranularity, or 45 degrees granularity etc), in order to make theinformation simpler for user to understand. This can be done no by realtriangulation but by identifying the change in measured distance vs. thedistance the reader traveled (example—if the reader move 1 m and themeasured distance reduces by 1 m, the item is straight ahead)

FIG. 43 illustrates method 430 according to an embodiment of theinvention.

Method 430 is for determining a location of a wireless tag.

Method 430 may start by stages 432 and 434. It may also include stage433.

Stage 431 includes generating or receiving, by a wireless reader,information about multiple distance measurements of distances betweenthe wireless tag and the wireless reader at different points of time;wherein the wireless reader is positioned at different locations inrelation to the wireless reader at the different points of time.

The different points in time may be selected out of a larger group ofpoints in time. For example—the different points in time may be includedin a time window and wherein the method may include ignoring distancemeasurements obtained outside the time window. The time window may be asliding time window.

Stage 433 (dashed box) may include receiving or calculating angularinformation about angles of reception of at least some of the messagesexchanged between the item and the wireless reader. This may includecalculating the angle of arrival of a message received from the item.

Stage 433 may include receiving the message by antennas of an antennaarray of the wireless reader.

Stage 434 includes generating or receiving by the wireless readerinformation about a spatial relationship between the different locationsor receiving information indicative of the spatial. This stage mayinclude generating by the wireless reader the information about thespatial relationship between the different locations by tracking by oneor more sensors a trajectory of the wireless reader.

Stages 432, 433 and 434 may be followed by stage 436 of determining bythe wireless reader, the location of the wireless tag in response to themultiple range measurements and the spatial relationship between thedifferent locations. If stage 433 is executed than stage 436 may beresponsive the angular information.

The location of the wireless tag can be a relative location (distancefrom wireless reader, direction to the wireless reader) or an absolutelocation (exact location, coordinates).

This stage may include assigning the same weight or different weights todifferent distance measurements. The weights (same or different fromeach other) may be according to a criterion like: RSSI, estimated SNR,complexity of an estimated channel response (number and/or order ofreflections).

Stage 436 may be followed by stage 438 of responding to thedetermination of the location.

Stage 438 may include at least one out of: (i) Generating by thewireless reader location information about the location of the wirelesstag; (ii) displaying on a display an indication about the location ofthe wireless tag, wherein the displaying is responsive to theinformation about the location of the wireless tag and an orientation ofthe display; (iii) providing a rough estimate of a location of the itembased upon a spatial relationship between a subset of the differentlocations.

PGA and Solving Location Ambiguities

There is provided a Tags-and-Phone-only or “reader-less” system that isusing tags for triangulation. The user does not need to carry anythingbut a regular smartphone (that is BLE or “BLE+” enabled phone). Thefunction of establishing the distance and direction between the phoneand each tag is embedded in the tag's network that is being createdAd-hoc. As long as 3 tags are static, the user may use them astriangulation points

Reader-less System Structure using Ad-Hoc Tags' network.

The approach described below enable the use of a reader-less system. Thesystem is built of a mobile phone that has a BLE/BLE+ connection and aminimal set of tags (4 or more). Optionally, A single (or few)Super-tag(s) may as well be a part of the system. Assuming suchsuper-tag exists, the system functionality may be enhanced.

Tags are used to locate and identify items that the user wishes totrack. They can be located while attached to the user belongings (likepurse, wallet, notebook, cloths etc.). There are no requirements forspecific positions of tags. The concept of operation is to performclassical triangulation between tags' triplexes subsets of the tagsnetwork within a certain location. Once the user wants to locate anitem, or once the system wants to log the status of the tags, all tagsare woken up (either by the phone, or by a timed event of the tagnetwork itself). A mesh network is created and the distance between eachtag and few (4-5) other tags is measured. The process is repeated untilall tags in the network have at least 3 or 4 distance measurements fromother tags and the measurement data is sent to either the phone or aspecific tag or a processing unit or a storage unit for a laterprocessing. Using the connected triangles created by those measurements,a 3D estimated structure (or map) of the tags' locations can begenerated. A 2D illustration is shown in FIG. 31 (only few distancemeasurements are shown). FIG. 31 illustrates first till sixth tags311-316 and distances 3112, 3116, 3123, 3124, 3134, 3135, 3136, 3145 and3146, wherein distance 31 xy indicates the distance between tag x to tagy—for example distance 3112 is the distance between tags 1 and 2.

As generally there are no tags with pre-known location, the structureorientation has 3D tilt and elevation ambiguity that need to beresolved. In addition, if the user is around the area of the tags, thereis a need to show the location of the user within the area of the tags.

Solving Orientation Ambiguity—Use of User Tag

Solving the orientation ambiguity can be done in several ways. Thissection covers the case where the user carries a tag. The carried tag isnot unique in any way, and behaves as any other tag. The onlyrequirement is for the tag to move with the user and for the system tobecome aware that this is the “user tag”. It is also assumes that theuser carries a phone, uses the phone's screen and the system has accessto the phone IMU sub-system (accelerometers, gyro meters, compass etc.,if those exist). Once the initial tag map is generated (and the user'stag is one of the tags in this map) the user starts moving (the systemcan either guides him to move or just wait for him to move).

After certain movement, the map is regenerated by repeating the processdescribed above. If the tags (other than the user tag) are static, thesystem has enough information to create a map of a subset includes 4 ofthe tags, including the user tag. Crossing the two maps (only user tagis moving) with the information coming from the phone compass can solvethe ambiguity, to the level of radial symmetry around the movement path.If the user now moves in a somewhat different direction, (i.e. on adirection other than a straight line continuation of the first movement)then the level of ambiguity further decreases to binary symmetryrelative to the surface define by the trajectory of the user movements.

Generally, two non-identical movements will solve the ambiguity on 2Dsystem and 3 non-identical movements will solve it for 3D system. Thisway static (for the period of the measurement) tags, serve as ad-hocreference points for the triangulation. There are scenarios, whereadditional information is knows and fewer movements are required. Oncethe orientation is solved, the system can generate a vector for the user(direction and range) to any desired tag.

FIG. 32 illustrates that tag 1 311 is moves to a second location 311′and a third location 311″ and in each location distance measurements aremade—updating distance 3112 between tag1 and tag 2 and distance 3116between tag 1 and tag 6. In addition to following the movements of tag1—thus allowing determining the orientation of the map illustrated inFIG. 31.

Solving Orientation Ambiguity—Pattern Matching with Prior Knowledge

To the left, there is a baseline tag map that was generated with itsorientation at a certain time. If the user wishes to repeat the processat a later stage, the system repeats the initial stage generating themap without solving the orientation. This is shown on the right diagram.As can be seen, tag 1 is missing on this case (for example, it is out ofrange) and tag 6 has moved since the previous procedure.

Accordingly—in FIG. 33 there are no distances 3112 and 3116 anddistances 3336, 3346 and 3356—between tag 6 and tags 3, 4 and 5respectively have been added or updated. Nevertheless, the distances3123, 3124, 3134, 3145 and 3135 remain the same and can allow

As the identity of the tags involved in the process is known to thesystem. It can compare the current structure with the previous one,looking for matching of patterns (distances 3123, 3124, 3134, 3145 and3135 between tags 2,3,4 and 5). If it finds a matching pattern of subsetof tags, it can simply use the orientation of the subset as it wassolved last time (assuming that the orientation of the map of FIG. 31was solved). In this example, tags 2,3,4,5 have not moved since theprevious procedure. The system can identify this pattern and use theknown orientation of the subset for the entire generated structure.Hence, in this case the ambiguity is known and need not be solved.

FIG. 46 illustrates method 460 according to an embodiment of theinvention.

Method 460 is for determining a location of a group of wireless tags.

Method 460 includes multiple decision stages (stages 464, 467 and 471).It is noted that the method can include only one decision stages, somedecision stages or all.

Method 460 may start by stage 461.

Stage 461 may include receiving first information indicative ofdistances between each wireless tag of the group and between at leastthree other wireless tags of the group.

Stage 461 may be followed by stage 462 of receiving first movementinformation or tracking a first movement of a certain tag of the groupof wireless tag in relation to other wireless tags of the group toprovide first movement information.

Stage 462 may be followed by stage 463 of receiving, after theperforming of the first movement, second information indicative ofdistances between each wireless tag of the group and between at leastthree other wireless tags of the group.

Stage 463 may be followed by stage 464 of determining locations of thewireless tags of the group in response to the first information, secondinformation and the first movement information.

Stage 464 may be followed by stage 465 of receiving second movementinformation or tracking a second movement of the certain tag of thegroup of wireless tag in relation to other wireless tags of the group toprovide the second movement information.

Stage 465 may be followed by stage 466 of receiving, after theperforming of the second movement, third information indicative ofdistances between each wireless tag of the group and between at leastthree other wireless tags of the group.

Stage 465 and 466 may be followed by stage 467 of determining locationsof the wireless tags of the group in response to the first information,second information, third information, the first movement informationand the second movement information.

Stage 467 may be followed by stage 468 of receiving third movementinformation or tracking a third movement of the certain tag of the groupof wireless tag in relation to other wireless tags of the group toprovide the third movement information.

Stage 468 may be followed by stage 469 of receiving, after theperforming of the third movement, fourth information indicative ofdistances between each wireless tag of the group and between at leastthree other wireless tags of the group.

Stage 469 may be followed by stage 470 of determining locations of thewireless tags of the group in response to the first information, secondinformation, third information, fourth information, the first movementinformation, the second movement information and the third movementinformation.

Method 460 may include stage 472 of instructing a user that moves thecertain tag to perform movements at directions that are oriented inrelation to each other. The user can follow the instructions so that thefirst, second and third movements are not along a same line.

Method 450 may include stage 473 of receiving orientation informationrelating to an orientation of some of the tags of the group of tags.Stage 473 may be followed by any one of stages 464, 467 and 471—and inthis case these determinations will be further responsive to theorientation information.

The locations of the tags in the group can be absolute or relativelocation (for example relative to the user device).

The certain tag can be attached to a user or to a user device carried bythe user. Method 460 may include stage 474 of displaying a location ofthe user in relation to the locations of other tags of the group oftags.

The user device may estimate its location based upon an exchange ofsignals between some tags of the group and the user device (that doesnot belong to the group).

Generating a Map with No User Tag

In this case, the user doesn't carry a tag but he carries a user devicesuch as a smartphone that is capable of performing location measurementsbased on RSSI, or other locations based methods. Initiation of the tags'map generation is done as before, but in order to estimate the locationof the user within the tags map (FIG. 34 illustrates map 310—includingtags 1-6 301-306 and distances between the tags) and a user locationindicator 341. The user device uses RSSI (Received Signal StrengthIndication) information of BLE beacons or advertising, transmitted bythe tags 301-306. By measuring RSSI information from all tags withinrange, and by knowing the relating positions of the tags in the map(this map is fed to the user device), an estimation of the location ofthe user device (phone) within the tags' map can be generated. As RSSIis less accurate, it is likely that the estimation will not be as goodas the one with a user tag. Orientation can be solved with patternmatching or with movement, as described before.

The Case of Compact Grid of Tags

The system should provide a solution also to the case where there areonly 2 tags (one is a user tag and another is a tagged item) or few tagsthat are packed together (for example, all items are inside a bag). Inthis case, where the distance between the tags is in the same order ofmagnitude of the range estimation error and/or the distance between thetags could be considered a single tag for the purpose of mapping. Thisscenario is described in FIG. 35-a triplet of tags 351, 352 and 353 areclose to each other and stationary. A user tag moves between locations354, 355 and 356. Assuming the user is carrying a tag with him, thisscenario could be resolve using the approach described in the paper“Single Reader Concept”,U.S. Provisional Patent Application No.61/832,872, filing date 9 Jun. 2013.

The system will periodically measure the distance between the user tagand the other tag(s), and send this information to the phone over BLEchannel. Using the IMU subsystem of the phone, the phone will track themovement path of the user and will perform triangulation over time asdescribed in the paper (in this case the phone performs the computationand not a separate “reader”)

Communication Concepts and System States

Each tag has a BLE (Bluetooth low energy) and BLE+ (a proprietary,enhanced communication protocol) subsystem and a range measurementsubsystem. BLE is used for communication of phone with tags and BLE+ orBLE is used for tag to tag communication. The range measurements systemis based either on UWB (IEEE802.15.4a) or any other accurate rangemeasurement method. If the ranging technology is capable of supportingalso data transfer (like IEEE802.15.4 for example), communicationbetween tags could be done also using the ranging technology.

Waking up all tags is done by the phone using BLE. Alternatively, thephone can wake up a single tag using BLE and let is wake up the rest ofthe tags using BLE+. There is also an option to wake up in a mesh schemewhile tags are waking up and communicating with other tags which are notnecessarily within the communication range of the phone.

Once the system is awake, the phone can initiate the creation of thetags' map. Communication between the tags' mesh can be either done byBLE+ or by the ranging technology, if supported. Range measurements arebeing performed (generally between each tags pair, alternatively in ascheme ensuring each tag has 4 range measurements), and thosemeasurements are being sent over the communication link (BLE+ or theranking technology) to a tag (or few tags) communicating with the phoneusing BLE. The calculations are then made by the phone.

The system can also be initiated without the phone/user using a timedriven event or another event. In this case the measurement data isstored in the tags or sent to an aggregator connected to the cloud or toa storage unit or a processing unit, if such exists.

The use of Super-Tag

-   -   a. A Super-Tag is assumed to be static, with a known location to        the user or to the system.    -   b. It is assumed to have large or rechargeable battery or be        connected to power supply or harvesting etc.    -   c. Its known position helps the user understand the diagram.    -   d. It can serve as a BLE to BLE+ bridge for tag wake up: phone        connects to the super-tag only using BLE, super tag wakes up the        tags using BLE+ and then the phone connects to the tags directly        using BLE. This is useful, power consumption wise for sleep mode        (another issue with BLE/BLE+ is Sphere)    -   e. It can also serve as a Wifi to bridge. This means the user        can access the tag network from anywhere (through a server        service) to generate the above diagram which will be sent back        to the phone (actually the raw measurements are sent, the        diagram is generated by the location engine in the application).

Sphere Using Ad-Hoc Tags' Network

A sphere is a set of tags that the user wishes to keep with him/her i.e.continuously monitor their existence in the immediate vicinity. Thesystem periodically generates communication to all “kept” tags. In casea tagged item is forgotten or lost, the communication to its tag is lostand as a result a lost event is generated and the user is notified. BLEsupports such functionality using proximity profile, but thefunctionality is limited because of high power consumption and thelimited number of tags that can be supported concurrently.

The approach described here eliminates those limitations. The idea is tocreate a BLE+ network or mesh (with minimum number of 2 tags) thattracks the existence of all members of the mesh. The phone is beingnotified through BLE communication only once a “lost item” event isidentified. In addition, the phone can get an OK update on a very lowduty cycle. An example for such operation: the tags are initiated usingBLE, or a specific tag is initiated and then initiates the other tagsusing BLE+.

The concept is to create a self-contained network chain whichperiodically checks and validates the existence of all tags in thechain. The FIG. 36 illustrates a user 366 and six tags 361-366 that(with or without a user attached tag—not shown) for a sphere. Eachperiod, a token 3612 is being delivered from tag 1 361 to tag 2 362, atoken 3623 is being delivered from tag 2 362 to tag 3 363, a token 3634is being delivered from tag 3 363 to tag 4 364, a token 3645 is beingdelivered from tag 4 364 to tag 5 365, and a token 3651 is beingdelivered from tag 5 365 to tag 1 361—thus closing a loop.

As the tags expect the reception of the token every period, if a timeoutpasses without reception, all tags which have not received the tokenstarts initiating BLE transmissions (advertising) to the phone. Byidentifying the advertising tags the phone can identify the lost item.In FIG. 37, tag 3 363 is lost, the chain is broken and tags 364 and 355initiate BLE communication 3641 and 3651 to the user device 367.

The weakness of the system if a scenario where all items are lost atonce (no tag can trigger the phone). One solution is to carry one tag onthe phone or on the user. So the scenario cannot take place.Alternatively, the phone can get, on a low duty cycle, an “OK” BLEadvertising message from the tags, just to verify the chain is there. Inorder to balance power consumption the advertising will be done byanother tag each time. This will not generate an immediate trigger butwill trigger the user eventually. Such a scenario (all tags are lost atonce) can also happen in the phone itself is lost. So in case no losteven occur and chain existence message is lost, after no response fromthe user the phone will assume.

FIG. 44 illustrates method 440 according to an embodiment of theinvention.

Method 440 is for managing a sphere of wireless tags.

Method 440 may start by stage 442 of programming, by a wireless reader,a group of wireless tags to belong to the sphere of wireless tags.

Stage 442 may include programming each wireless tag of the sphere toincrease a wireless tag reception window for detecting a sphere beaconafter the wireless tag failed to receive a predefined number of spherebeacons.

Stage 442 may include programming the wireless tags of the sphere toenter a first operational mode during reception window s that correspondto expected timing of transmission of the sphere beacons and to enter asecond operational mode after responding to the sphere beacons, whereinthe second operational mode is characterized by a lower powerconsumption than the first operational mode.

Stage 442 may include calculating or receiving information aboutdistances between the wireless reader and multiple wireless tags; andselecting the wireless tags of the sphere out of the multiple wirelesstags to be within a predetermined distance from the wireless tag.

Stage 442 may include programming the wireless tags to belong to thesphere only during predetermined time periods.

Stage 442 may include instructing a wireless tag to transmit wirelesstag identification information even without receiving beacon messagesaimed to the wireless tag.

Stage 442 may be followed by multiple repetitions of a sequence thatincludes stages 444, 445, 446 and 448.

Stage 444 may include sending by the wireless reader a sphere beaconaimed to the wireless tags of the sphere.

The repetition of stage 444 may cause sphere beacons to be transmittedaccording to a predetermined schedule, be responsive to events and thelike. It may include periodical transmission of sphere beacons.

Stage 445 includes checking if all tags of the sphere acknowledged thereception of the sphere beacon.

If the answer is yes—jumping to stage 444.

If the answer is no—jumping to stage 446 of checking if a wireless tagof the sphere did not respond to a predetermined number of spherebeacons.

If the answer is no—jumping to stage 444.

If the answer is yes—jumping to stage 447 of detecting a loss of awireless tag of the sphere if the wireless tag did not respond to apredetermined number of sphere beacons.

Stage 445 is followed by stage 448 of responding to the detecting of theloss of the wireless tag.

FIG. 45 illustrates method 450 according to an embodiment of theinvention.

Method 450 is for operating a wireless tag that belongs to a sphere ofwireless tags.

Method 450 may start by stage 452 of participating in multiple spherecheck cycles; and operating at an energy saving mode between themultiple sphere check cycles.

A participation of the wireless tag in a sphere check cycle of themultiple sphere check cycles may include: (i) searching (453), by thewireless tag and during a time window, for a preceding wireless tagtoken from a preceding wireless tag; and transmitting (454), by thewireless tag, a lack of reception indication indicative of a failure toreceive the preceding wireless tag token during the time window.

The participation may also include transmitting (455) a wireless tagtoken by the wireless tag and to a next wireless tag. The wireless tagtoken transmitted by the wireless tag is treated as a preceding wirelesstag token by the next wireless tag. The transmitting of the tag tokencan be executed (a) only if receiving the preceding wireless tag token;(b) only if not receiving the preceding wireless tag token, or (c)regardless of a reception of the preceding wireless tag token

The participation may also include transmitting (456) by the wirelesstag an acknowledgement message in response to each reception (ormultiple receptions) of the preceding wireless tag token.

Hybrid Mode of Operation

According to an embodiment of the invention there may be provided ahybrid operation solution. This communication and location Hybridsolution combines a narrowband and wideband communication methods inorder to leverage the advantages of each of those methods whileminimizing the impact of the disadvantages of those methods. The hybridsolution is designed to serve as the infrastructure for “internet ofthings” where “things” can economically, long lasting andeconomically—communicate with each other and—offering combination ofease of communication combined with accurate location.

The concept is applicable to any wireless system that involves indoorranging (distance, direction or location measurement). The widebandsignal is being used in order to achieve good spatial resolution even inreal life scenarios which usually involve reflections or multipleresponses. Generally communication between network elements could bedivided to two types

-   -   a. General communication: in this state there is a wireless        communication between different elements of the network (two or        more) which does not involve ranging. For example: association,        transfer of data etc.    -   b. Ranging: In this state there is a ranging and possibly        direction estimation effort which is active between two or more        elements.

Many ranging and location systems make use wideband signals (for examplepulse UWB) which impose several challenges on the system. For example:power consumption could be higher compared to narrow band schemes. Inaddition, it is difficult and time consuming to synchronized a verynarrow signal in time. (like a pulse UWB signal)

A hybrid solution includes both wideband as well as narrow bandtransceiver (this could be implemented as two operation modes of thesame transceiver).

The approach suggested is to use common narrow band communicationmethods (as an examples: Bluetooth, Zigbee etc) and have a narrow bandtransceiver or transceiver's narrow band operation mode for:

-   -   a. All “general communication” modes which do not involve        accurate ranging estimation;    -   b. Rough Ranging estimation    -   c. Set up of the link prior to ranging measurement, and transfer        data between nodes after and during the ranging measurement.

The approach suggested in this paper is to use the wide band transceiveror transceiver's wideband operation mode for the ranging measurementitself only

FIG. 38 provided an example of the hybrid operation. One node (wirelesstag) initiates a connection aiming to perform a range/locationmeasurement to another node using a ranging signal and time of flight(TOF) measurement of that signal. As mentioned, the process involves twokind of communication signal:

-   -   a. “Narrow band”—those are used for communication. An example        could be Bluetooth, 802.15.4 (“Zigbee”) etc    -   b. “Wide band”—those are used for the ranging signal, leveraging        the fact that wide band signal can achieve better spatial        resolution—this could be pulse UWB, wideband WLAN signal (like        802.11n or 802.11ac) etc

Ranging Process Description

This initiating node (can be implemented as “reader”) brings the othernode (can be implemented as “Tag”) or nodes to “ranging state” bysending an appropriate commands. This is done using narrowband scheme.

A ranging “beacon” 361 could be a narrow band (NB) signal which containsfor example the following information:

-   -   a. The node ID.    -   b. RSSI information of the node reception—this helps the node        calibrating its circuits for the ranging signal.    -   c. Timing information (coarse) on when the initiating node (for        example a “reader” will send the wideband (WB) ranging signal.        By sending that information the other node (for example a “Tag”)        or nodes (for example “Tags”) can open a very short reception        window for the ranging signal, (resolution may be a fraction of        a narrow band symbol length) reducing its power consumption and        implementation complexity.    -   d. Additional information that can help the other node(s).    -   e. A command 382 to the tag to find a future transmitted        wideband (WB) ranging message.

The ranging signal (WB ranging message 383) is a wide band signal whichis sent at a fixed delay after the ranging beacon has been sent. Itcontains the following:

-   -   a. It may contain an ID.    -   b. It may contain a correlation sequence which is known to all        participating nodes.

In FIG. 38 the tag receives the ranging beacon (NB beacon 381) andprepares its wide band circuitry to open a wideband reception window 387to receive the WB ranging signal based on the ranging beacon parameters.

After successful correlation the tag sends back to the reader the same(or other) WB ranging signal (WB response message 388), which the reader(which opens a WB reception window 384) correlates. Following that, thetag sends a NB ranging data message (NB ranging data and ACK 389) thatmay include:

-   -   a. Timing information from the tag that may contain—the tag        processing time from correlation to ranging signal send        completion.    -   b. The estimation of the correlation time error.    -   c. The tag->reader->tag estimated flight time if a double two        way TOA measurement is used.    -   d. A “Tag” ID as an Ack.    -   e. Additional data required by the “Reader”.

FIG. 42 illustrates method 420 according to an embodiment of theinvention.

Method 420 is for hybrid operation of wireless transceivers.

Method 420 starts by stage 422 of receiving by a narrowband receptioncircuit of the first wireless transceiver received narrowband messages;and transmitting by a narrowband transmission circuit of the firstwireless transceiver transmitted narrowband messages. Stage 422 mayinclude maintaining wideband reception and/or transmission circuits in alow power mode (shut down, idle and the like).

Stage 422 may include stage 423 of receiving a received narrowbandmessage that may include an indication about a future transmission ofthe wideband ranging message.

The indication may include timing information about timing of thewideband reception period.

The indication may include at least one wideband reception parameterassociated with a reception of the wideband ranging message.

Stage 422 may be followed by stage 424 of receiving during a widebandreception period and by a wideband reception circuit of a first wirelesstransceiver a wideband ranging message and transmitting during awideband transmission period and by a wideband transmission circuit ofthe first wireless transceiver a wideband ranging response message.

The transfer from stage 422 to stage 424 may occur after a predetermineddelay period lapsed from the receiving of the received narrowbandmessage that may include the indication about the future transmission ofthe wideband ranging message.

The wideband ranging response message may include timing informationabout a time difference between the receiving of the wideband rangingmessage and the transmitting of the wideband ranging response message.

The wideband ranging message may be transmitted by a second wirelesstransceiver and the wideband response message may include timinginformation about an estimated time difference between a transmission ofthe wideband ranging message by the second wireless transceiver and areception of the wideband ranging response message by the secondwireless transceiver.

Stage 424 may include causing the wideband reception circuit to searchfor the wideband ranging message within the wideband reception periodthat is defined in response to the indication.

Stage 424 may be followed by stage 422.

Indoor Navigation

The following text describes various embodiments of the invention forindoor navigation. For simplicity of explanation it is assumed that theindoor space is a store of a retailer.

The system locates the phone within the store, based only on receivedsignal strength (RSSI) of few beacons (this method is sometimes called“RF fingerprint”) by the phone and an auto-mapping procedure of thebeaconing tags. Therefore, the user doesn't have to own any hardwarebeyond his smartphone and the store/retailer benefits from a very lowcost of ownership, as there is no need for indoor mapping of thebeacons. Standard implementation of similar systems suffers frominherent inaccuracy of RSSI method leading to an unreliable system. Thissolution mitigates that by a cellular approach, as described below.

Prior art solution (FIG. 39) aim to solve the need for indoor locationand navigation of a person inside a large store or a supermarket (i.e.“retailer”). A common prior art solution includes using several (atleast 3) static nodes (sometimes referred as “readers”) with knownlocations and measure the distance of the user to those readers. This isillustrated in FIG. 39—the “readers” 3921, 3922, 3923 and 3934 aremarked with X. Once the distance from the user 391 to those readers isknown, the location of the user relative to the readers can becalculated. If the location of the readers in store (or on a map) isknown, the location of the user in the store can now be calculated.

This approach requires (i) an accurate measurement of the distance fromthe user to the “readers”, and (ii) accurate knowledge on the locationof the readers in the store.

Inaccuracy on either of those will lead to inaccuracy in the estimationof the position of the user.

Estimating the Distance from the User to the Reader

There are several approaches to estimate the distance. The most commonones are based on received signal strength (RSSI) and measuring the timeof flight (ToF) of an RF signal.

RSSI—With this approach, the “readers” transmit periodically a beaconwith a unique ID. The receiver estimates the signal strength of thereceived signal. Assuming the transmit power is known, it can estimatethe range by fitting those figure into a RF propagation model. RSSI mainadvantage is the fact it can be implemented using Wi-Fi or Bluetooth,which are supported by most phones today. This leads to a system whichrequires no extra hardware carried by the user. In addition, as there isno network connection between the readers and the phone (readers aretransmitting beacons, phone is only receiving) the system is easilyscalable and there are no capacity issues. The main disadvantage of thisapproach is accuracy. As signal strength is heavily impacted fromphysical blockers, a non-line-of-sight (LOS) estimation is veryinaccurate and even a LOS scenario could have significant error due toreflections and fading. This results in accuracy in the range of 3-5 m.In order to try and mitigate that, a more sophisticated approach is tomatch a set of RSSI received from several sources to a pre-measured orestimated “map” (this is called finger printing). This approach yieldsbetter results in a controlled environment (still couple of m accuracy)but in practice it also suffers from blockers or interferers that werenot there during the “mapping procedure” (walking people for example)

ToF—With this approach, the “readers” measure the propagation time of anRF signal from the reader to the user. This method could beunidirectional (DTOA) if the readers are synchronized or bi-directionalif they are not. Assuming sufficient RF signal bandwidth is used thismethod is robust and accurate also in the presence of reflections andblocking and accuracy can be as good as 30 cm and below. The maindisadvantage is the fact that current smartphones do not support suchapproach meaning the user must carry a special hardware with him Inaddition a bi-directional system needs to cope with collisions and useraccess to the readers and a uni-directional system needs to synchronizeall the readers. Both impose technical challenges which complex thesystem

Estimating the Location of the Readers

In many cases, the readers are located indoor, where GPS usage isimpossible. In practice, the mapping of those readers is usually donemanually—measure where they are and feed it to a database. Tracking if areader has moved is problematic and the cost of ownership is high

The proposed method uses both RSSI as well as ToF. It uses “tags” whichare capable for Bluetooth or Bluetooth-low-Energy (BLE) communication aswell as for ToF measurement using wideband signal (as described in U.S.provisional patent Ser. No. 61/729,601 filing date Nov. 25, 2012 andU.S. provisional patent Ser. No. 61/803,534 filing date March 20.

The idea is to locate the user in a small “cell” using RSSI, andauto-create an accurate map of those cells using ToF measurements. Theconcept of operation is illustrated in FIGS. 40 and 41.

FIG. 40 illustrates the indoor space as including multiple shelves 393,395 and 396. The majority of shelves (393) are spaced apart bypassageways 394 and are parallel to each other. A large number ofwireless tags 401 are attached to shelves 393, 395 and 396.

Cellular Structure

The store installs tenths to hundreds of tags 401. These tags could usefor applications which are already being used such as BLE proximity forcoupons or for smart shelf labeling (which install a tag per productcategory). This is illustrated in FIG. 40. Due to the larger number oftags, a “cellular” approach can be used. Each cell includes of 3-10 tags(or even a larger number, depended on the spacing between the tags).Each tag 401 periodically transmits a tag beacon with a tag ID—each taghas a unique ID.

The user device 391 receives transmissions from a subset of the tags (orselects only the strongest transmissions it receives). These tags (ofthe subset) form a cell 401 that is proximate to the user device. Theuser device may use RSSI or other method to determine its locationwithin the “cell”

Referring to FIG. 41—the user device 391 includes transmissions fromtags 401(2)-401(5) and 401(12)-401(15) within cell 410 and ignorestransmissions from other tags (such as tags 401(1), 401(6), 401(11) and401(16). These tags are attached to shelve 393(1) or shelve 393(2).

As indicated above—Within this cell the method uses RSSI reception orRF-fingerprinting in order to estimate the location of the user in thecell (this means the tags periodically transmit beacons with unique ID).A cell is illustrated in FIG. 40. This method is superior compared tothe existing approach since:

Inside the cell there are no blockers such as shelves etc.

Statistically, the scenario of true LOS (no blockers, no interferencefrom people) is more likely since the cell area is small.

Since the cell is small, the slope of signal strength/distance which islogarithmic is higher compared to a large hall. This results in betternoise immunity

As the structure of the cell is known, and expected interference islimited the system can leverage the cell structure information to ruleout outlier data

Auto-Mapping

Assuming the solution for the location of the user within the cell isdone, there is a need to locate the cell referenced to the store map orto the rest of the tags. This is done by creating a mesh network andmesh mapping as described in U.S. provisional patent 61/868,591 filingdate Aug. 22, 2013. The procedure can be done periodically (once a day,or few times a day) so the map of tags, which refers potentially to themap of products will get updated in case a product (and a tag hasmoved). The ambiguity of the map (setting the north) needs to beresolved once (manually or automatically). As most of the tags arestatic from map to map creations, ambiguity solution will be done usingpattern matching as described in U.S. provisional patent 61/868,591filing date Aug. 22, 2013. The map is accurate since it is using ToFmeasurements; therefore the database generating the cell structure isaccurate as well.

By combining the two methods (cellular RSSI and auto-mapping) the systemperformance and cost of ownership is optimized:

-   -   a. The system uses RSSI to locate the user, leading to no need        for additional HW for the user besides his phone    -   b. As it works in small simple “cells” with high probability for        LOS conditions, it mitigates the main problem of RSSI approach        which is accuracy in a NLOS scenarios    -   c. The tags auto-map themselves avoiding the need for manual        measurement of the location of the “reader” which is costly and        inaccurate    -   d. As the auto-mapping process is done periodically, the system        is self-maintained, and any change in location of an item is        updated automatically.    -   e. This results in a low cost of ownership as there is no need        for any human intervention after the first installation

The generation of tags map and the determining of the locations of thedifferent tags can be done by a server (such as computer 408 of FIG. 40)that can receive information from the wireless tags either directly, viauser device, vie intermediate communication elements and the like.

Server

The server stores the auto-mapping data. The mesh measures the relevantdistances (as described in any of the mentioned above methods) and sendsa distance matrix to the server (through a tag that has an IPconnection, as mentioned in any of the mentioned above methods). Theserver builds the map from the distance matrix and solves the northambiguity. As the measurement of distances is done periodically, theserver also updates the map of products periodically. This also enablethe back office to track location and existence of items, amount ofchanges etc.

Client

The client operates on the user phone. When the user gets into the storeit gets from the server the list of IDs of all tags and the map of thosetags. It uses now the RSSI of the signals it receives in order toidentify the cell he is at and estimate his location within the cell

Once those tasks are completed, and having the map from the server, theclient now has his location on the map. This is processed locally butcan be sent back to the server so the server can track and log user'smovement and potentially guide them through desirable paths.

FIG. 47 illustrates method 477 according to an embodiment of theinvention.

Method 477 includes stage 478 of generating, by multiple wireless tags,distance information about distances between the multiple wireless tags,the multiple wireless tags are positioned within the indoor space byapplying a first type of distance estimation process that may includewirelessly transmitting messages between the multiple wireless tags.

Stage 478 is followed by stage 479 of transmitting by the multiplewireless tags ranging beacons, wherein wireless tags ranging baconstransmitted by a wireless tag comprise a unique identifier of thewireless tag.

FIG. 48 illustrates method 480 according to an embodiment of theinvention.

Method 480 is for locating a user within an indoor space.

Method 480 may start by stages 482, 483 and 484.

Stage 482 may include receiving by a computer, distance informationabout distances between multiple wireless tags that are positionedwithin the indoor space; wherein the distance information is obtained bythe multiple wireless tags during a first type of distance estimationprocess that may include wirelessly transmitting messages between themultiple wireless tags.

There may be many wireless tags that may be arranged in multiple densegroups. FIG. 40 illustrates wireless tags 401 that are ordered in densegroups—two dense group per side of a shelf. For example, the multiplewireless tags comprise at least one hundred wireless tags and wherein adistance between adjacent wireless tags positioned on a same side of anobject does not exceed centimeters.

The first type of distance estimation process may include wirelesslytransmitting Bluetooth low energy messages between the multiple wirelesstags.

The first type of distance estimation process may include wirelesslytransmitting wideband and narrowband messages between the multiplewireless tags.

Stage 483 may include receiving or calculating calibration informationindicative of an actual or estimated location of at least one wirelesstag in the indoor space.

Stage 483 may include calculating the calibration information. This mayinclude receiving a map of the indoor space, the map is indicative ofshapes and orientations of multiple objects within the indoor space towhich wireless tags are attached; determining spatial relationshipsbetween the multiple wireless tags based upon the distance information;and calculating the calibration information based upon similaritiesbetween a shape and an orientation of at least one object and betweenspatial relationships between objects that are attached to the at leastone object.

Stages 482 and 483 may be followed by stage 486 of determining locationsof the wireless tags in the indoor space in response to the distanceinformation and to calibration information.

Stage 484 may include receiving, from a user device, user devicelocation information related to a location of the user device inrelation to a sub-set of the wireless tags.

The user device location information may be obtained by applying asecond type of distance estimation process that differs from the firsttype of distance estimation process. The second type of distanceestimation process may be based upon received signal strength indication(RSSI) measurements of beacons transmitted from the wireless tags of thesub-set of wireless tags; and wherein the first type of distanceestimation may be based upon tome of flight measurements.

Each wireless tag of the multiple wireless tags may have a uniqueidentifier that is included in messages transmitted by the wireless tagduring the second type of second type of distance estimation process.

Stages 484 and 486 may be followed by stage 488 of determining alocation of the user device within the indoor space in response to theuser device location information and to locations of the wireless tagsof the sub-set of wireless tags in the indoor space.

Stage 488 may be followed by stage 489 of responding to the location ofthe user. This may include transmitting (by wireless tags proximate tothe user device) to the user device messages in response to the locationof the user device.

FIG. 49 illustrates method 490 according to an embodiment of theinvention.

Method 490 is for locating a user within an indoor space.

Method 490 may start by stage 492 of receiving, by a user device,information about locations and identities of multiple wireless tagswithin the indoor space.

Stage 492 may be followed by stage 494 of receiving by the user devicemessages from a group of wireless tags, the messages are indicative ofidentities of the wireless tags of the group, wherein the group of thewireless tags forms a fraction of the multiple wireless tags.

Stage 494 may be followed by stage 496 of calculating, in response tothe identities of wireless tags of the group, the information aboutlocations and identities of multiple wireless tags and receptionparameters of the messages, a location of the user device within theindoor space.

Stage 496 may include calculating a rough estimate of the location ofthe user device in response to the identities of wireless tags of thegroup and the information about locations and identities of multiplewireless tags.

Stage 496 may include calculating a fine estimate of the location of theuser device in response to the reception parameters of the messages.

The reception parameters of the messages may be RSSI measurementsrelated to the messages.

Smart Bag

There may be provided a smart-bag system for a consumer. The purpose ofthe smart bag is to help a traveler monitor and keep importantbelongings, be able to verify that all of the are inside the bag when heleaves, if something has been moved while he was away and also help theuser locate a missing item.

Generally, prior art solutions for consumer systems that ensure theexistence of an element within an area (or volume) use distanceestimation based on received signal strength (RSSI) of an RF signal. Themain issue of that approach is its inherent inaccuracy andsusceptibility to physical blockers and interferers, making itnon-suitable for any application that requires accuracy (like asmart-bag).

The proposed method uses distance measurements based on ToF from eithera single of two fixed tags in the bag to the tagged items. A smartphoneis used as the GUI for the user

System Structure

The system is based on the approach described in U.S. provisional patent61/868,591 filing date Aug. 22, 2013. The user tags every item he wishesto monitor. In addition, the bag has a pocket or two pockets in it,where tags could be placed. The use of pockets is important since thelocation of the pockets in the bag is “optimized” for the use and couldalso be known to the application. A smart device (smartphone, tablet)communication with the tag (or just with the tag on the bag) is used asGUI for the user

Mapping

This is the process where the smart-bag (example of a tagged enclosure)or actually the tags on the bag create a “map” of the tagged items.

Single tag on bag case—in this case the bag has a single pocket for atag. The ideal solution is at the center of the bag (impractical) or atthe center of the bottom of the bag. Mapping on this case meansmeasuring the distance from the bag's tag to the rest of the tags. Wedefine a sphere with a radius that is the distance from the bag's tag(center of bottom) to an upper corner of the bag. The system collectsall distances from the bag's tag the tagged items. “In the bag” isdefined as item within the sphere and “out-of bag” is an item out of thesphere. False positive identification happen in the volume of the spherewhich is out of the bag (assumed as a box)

Two tags on bag case—In this case the bag has two pockets for a tag. Theideal solution is at the centers of the opposite smallest sides of thebag (The bag is assumed to be a box). Mapping on this case meansmeasuring the distance from the bag's two tags to the rest of the tags.We define a cylinder with a radius that is the distance from the bag'stag (center of small side) to a corner of that side. By measuring thedistance to both tags we can determine if an item is inside or outsidethat cylinder. “In the bag” is defined as item within the cylinder and“out-of bag” is an item out of it. False positive identification happensin the volume of the cylinder which is out of the bag (assumed as abox). The false volume is smaller than the one in the single bag tagcase

The system can support the following use cases:

Are my things with me?

-   -   a. When a person intends to leave the room with his bag he can        “ask” the system “is everything in the bag”? A mapping procedure        is followed, and binary indication (“in the bag” or “out of the        bag”) is generated for all item. Status is generated on the        phone.

Has something moved while I was away?

-   -   a. The user should enable that mode of operation before he        leaves the room. Once enabled, the system periodically creates        the map. It compares the “location” (2 distances in 2 tag's        case) or distance (1 tag case) of all tags over times, and look        for a change above a certain criteria bar. The comparison and        logging is done on the bag tags (as the phone is away). There is        no processing involved, just comparison of distance measurement        over time. When something has moved, the event is logged with a        time stamp. When the user returns to his room the phone can        communicate with the bag tag(s) and get the log.

Where is something?

-   -   a. Assuming something is identified as “out of bag” or is just        lost, the system can assist the user to find it. In this case, a        “real” map is created, as described in the document “PGA+ad-hoc        network”. If the user carries a tag with him (either on the        phone or just a tagged item he takes in hand) ambiguity and        direction relative to the user+bag can be solved without a user        movement.

FIG. 50 illustrates method 500 according to an embodiment of theinvention.

Method 500 is for detecting a presence of a tagged item within a taggedenclosure.

Method 500 starts by stage 510 of performing distance measurementsbetween at least one wireless tag of the tagged enclosure and the taggeditem to determine the spatial relationship between the tagged enclosureand the tagged item. The distance measurements may be based upon time ofarrival, RSSI or any other ranging process illustrated above.

Stage 510 may be followed by stage 520 of determining, based upon thedistance measurements, whether the tagged item is within the taggedenclosure. The one or more locations of the at least one wireless tagwithin the tagged enclosure are known, the shape and size of the taggedenclosure are known so that the distances between the tagged item andthe one or more wireless tag can be deducted from the distanceinformation and the mentioned above knowledge.

Stage 510 may include merely determining which wireless tags are able tocommunicate with the tagged item and determine, based upon the coveragearea of the wireless tags—whether the tagged item is within the taggedenclosure or outside the tagged enclosure. See, for example, FIGS. 51and 51 and the text below.

Method 500 may also include stage 530 of evaluating a location of atagged user device in relation to the tagged enclosure by evaluatingdistances between at least two wireless tags of the tagged enclosure andthe tagged user device.

FIGS. 51 and 52 illustrate tagged enclosures 600 and 650 according to anembodiment of the invention.

Tagged enclosure 600 includes tagged enclosure pockets 601 and 602 inwhich wireless tags 603 and 604 are located. The coverage areas 605 and606 of wireless tags 603 and 604 (respectively) are three dimensionalspaces that define an area in which each wireless tag is able tocommunicate with another wireless tag. A tagged user device 630 can tryto attempt to communicate with the wireless tags 603 and 604 in order todetermine their locations—wherein the distance and/or locationdetermination can be executed by any method, including any methoddisclosed in the specification. Yet for another example wireless tags603 and 604 may attempt to communicate with an item of interest 620 thatis associated (attached to, included in) with a wireless tag 608—andthen may communicate to the user device 610 whether they receive thetransmissions of wireless tag 608 or not. If both wireless tags manageto communicate with the wireless tag 608 then it may be determined thatthe item of interest is within the tagged enclosure. Else—it may bedetermined that the item of interest is outside the tagged enclosure610. The tagged enclosure may be a suitcase, a bag, and the like. Thetagged enclosure may include one wireless tag, three or more wirelesstags and the like.

Tagged enclosure 650 of FIG. 52 includes a tagged enclosure pocket 601in which wireless tag 603 is located. An item of interest is consideredto be included in the tagged enclosure if wireless tag 603 cancommunicate with its wireless tag.

If there are three or more wireless tags in the tagged enclosure then amapping between the estimate coverage area of the wireless tags and thevolume of the tagged enclosure can be provided and decisions of whethera tagged item of interest is within the tagged enclosure can bedetermined based upon the wireless tags that communicate with the taggeditem of interest and the mapping. For example—a tagged item of interest(such as 620) can be determined to be included in the tagged enclosureif a majority of wireless tags of the tagged enclosure communicate withit. Yet for another example—if a certain area of the tagged enclosure is“covered” by the coverage area of one or more certain wireless tags thanthe tagged item of interest is deemed to be included in the taggedenclosure if at least these one or more certain tags communicate withthe tagged item of interest.

The invention may also be implemented in a computer program for runningon a computer system, at least including code portions for performingsteps of a method according to the invention when run on a programmableapparatus, such as a computer system or enabling a programmableapparatus to perform functions of a device or system according to theinvention. The computer program may cause the storage system to allocatedisk drives to disk drive groups.

A computer program is a list of instructions such as a particularapplication program and/or an operating system. The computer program mayfor instance include one or more of: a subroutine, a function, aprocedure, an object method, an object implementation, an executableapplication, an applet, a servlet, a source code, an object code, ashared library/dynamic load library and/or other sequence ofinstructions designed for execution on a computer system.

The computer program may be stored internally on a non-transitorycomputer readable medium. All or some of the computer program may beprovided on computer readable media permanently, removably or remotelycoupled to an information processing system. The computer readable mediamay include, for example and without limitation, any number of thefollowing: magnetic storage media including disk and tape storage media;optical storage media such as compact disk media (e.g., CD ROM, CD R,etc.) and digital video disk storage media; nonvolatile memory storagemedia including semiconductor-based memory units such as FLASH memory,EEPROM, EPROM, ROM; ferromagnetic digital memories; MRAM; volatilestorage media including registers, memory units or caches, main memory,RAM, etc.

A computer process typically includes an executing (running) program orportion of a program, current program values and state information, andthe resources used by the operating system to manage the execution ofthe process. An operating system (OS) is the software that manages thesharing of the resources of a computer and provides programmers with aninterface used to access those resources. An operating system processessystem data and user input, and responds by allocating and managingtasks and internal system resources as a service to users and programsof the system.

The computer system may for instance include at least one processingunit, associated memory and a number of input/output (I/O) devices. Whenexecuting the computer program, the computer system processesinformation according to the computer program and produces resultantoutput information via I/O devices.

In the foregoing specification, the invention has been described withreference to specific examples of embodiments of the invention. It will,however, be evident that various modifications and changes may be madetherein without departing from the broader spirit and scope of theinvention as set forth in the appended claims.

Moreover, the terms “front,” “back,” “top,” “bottom,” “over,” “under”and the like in the description and in the claims, if any, are used fordescriptive purposes and not necessarily for describing permanentrelative positions. It is understood that the terms so used areinterchangeable under appropriate circumstances such that theembodiments of the invention described herein are, for example, capableof operation in other orientations than those illustrated or otherwisedescribed herein.

The connections as discussed herein may be any type of connectionsuitable to transfer signals from or to the respective nodes, units ordevices, for example via intermediate devices. Accordingly, unlessimplied or stated otherwise, the connections may for example be directconnections or indirect connections. The connections may be illustratedor described in reference to being a single connection, a plurality ofconnections, unidirectional connections, or bidirectional connections.However, different embodiments may vary the implementation of theconnections. For example, separate unidirectional connections may beused rather than bidirectional connections and vice versa. Also,plurality of connections may be replaced with a single connection thattransfers multiple signals serially or in a time multiplexed manner.Likewise, single connections carrying multiple signals may be separatedout into various different connections carrying subsets of thesesignals. Therefore, many options exist for transferring signals.

Although specific conductivity types or polarity of potentials have beendescribed in the examples, it will be appreciated that conductivitytypes and polarities of potentials may be reversed.

Each signal described herein may be designed as positive or negativelogic. In the case of a negative logic signal, the signal is active lowwhere the logically true state corresponds to a logic level zero. In thecase of a positive logic signal, the signal is active high where thelogically true state corresponds to a logic level one. Note that any ofthe signals described herein may be designed as either negative orpositive logic signals. Therefore, in alternate embodiments, thosesignals described as positive logic signals may be implemented asnegative logic signals, and those signals described as negative logicsignals may be implemented as positive logic signal.

Furthermore, the terms “assert” or “set” and “negate” (or “deassert” or“clear”) are used herein when referring to the rendering of a signal,status bit, or similar apparatus into its logically true or logicallyfalse state, respectively. If the logically true state is a logic levelone, the logically false state is a logic level zero. And if thelogically true state is a logic level zero, the logically false state isa logic level one.

Those skilled in the art will recognize that the boundaries betweenlogic blocks are merely illustrative and that alternative embodimentsmay merge logic blocks or circuit elements or impose an alternatedecomposition of functionality upon various logic blocks or circuitelements. Thus, it is to be understood that the architectures depictedherein are merely exemplary, and that in fact many other architecturesmay be implemented which achieve the same functionality.

Any arrangement of components to achieve the same functionality iseffectively “associated” such that the desired functionality isachieved. Hence, any two components herein combined to achieve aparticular functionality may be seen as “associated with” each othersuch that the desired functionality is achieved, irrespective ofarchitectures or intermedial components. Likewise, any two components soassociated can also be viewed as being “operably connected,” or“operably coupled,” to each other to achieve the desired functionality.

Furthermore, those skilled in the art will recognize that boundariesbetween the above described operations merely illustrative. The multipleoperations may be combined into a single operation, a single operationmay be distributed in additional operations and operations may beexecuted at least partially overlapping in time. Moreover, alternativeembodiments may include multiple instances of a particular operation,and the order of operations may be altered in various other embodiments.

Also for example, in one embodiment, the illustrated examples may beimplemented as circuitry located on a single integrated circuit orwithin a same device. Alternatively, the examples may be implemented asany number of separate integrated circuits or separate devicesinterconnected with each other in a suitable manner.

Also for example, the examples, or portions thereof, may implemented assoft or code representations of physical circuitry or of logicalrepresentations convertible into physical circuitry, such as in ahardware description language of any appropriate type.

Also, the invention is not limited to physical devices or unitsimplemented in non-programmable hardware but can also be applied inprogrammable devices or units able to perform the desired devicefunctions by operating in accordance with suitable program code, such asmainframes, minicomputers, servers, workstations, personal computers,notepads, personal digital assistants, electronic games, automotive andother embedded systems, cell phones and various other wireless devices,commonly denoted in this application as ‘computer systems.

However, other modifications, variations and alternatives are alsopossible. The specifications and drawings are, accordingly, to beregarded in an illustrative rather than in a restrictive sense.

In the claims, any reference signs placed between parentheses shall notbe construed as limiting the claim. The word ‘comprising’ does notexclude the presence of other elements or steps then those listed in aclaim. Furthermore, the terms “a” or “an,” as used herein, are definedas one or more than one. Also, the use of introductory phrases such as“at least one” and “one or more” in the claims should not be construedto imply that the introduction of another claim element by theindefinite articles “a” or “an” limits any particular claim containingsuch introduced claim element to inventions containing only one suchelement, even when the same claim includes the introductory phrases “oneor more” or “at least one” and indefinite articles such as “a” or “an.”The same holds true for the use of definite articles. Unless statedotherwise, terms such as “first” and “second” are used to arbitrarilydistinguish between the elements such terms describe. Thus, these termsare not necessarily intended to indicate temporal or otherprioritization of such elements.

The mere fact that certain measures are recited in mutually differentclaims does not indicate that a combination of these measures cannot beused to advantage.

While certain features of the invention have been illustrated anddescribed herein, many modifications, substitutions, changes, andequivalents will now occur to those of ordinary skill in the art. It is,therefore, to be understood that the appended claims are intended tocover all such modifications and changes as fall within the true spiritof the invention.

We claim:
 1. A method for locating a user within an indoor space, themethod comprises: receiving by a computer, distance information aboutdistances between multiple wireless tags that are positioned within theindoor space; wherein the distance information is obtained by themultiple wireless tags during a first type of distance estimationprocess that comprises wirelessly transmitting messages between themultiple wireless tags; determining locations of the wireless tags inthe indoor space in response to the distance information and tocalibration information indicative of an actual or estimated location ofat least one wireless tag in the indoor space; receiving, from a userdevice, user device location information related to a location of theuser device in relation to a sub-set of the wireless tags; determining alocation of the user device within the indoor space in response to theuser device location information and to locations of the wireless tagsof the sub-set of wireless tags in the indoor space.
 2. The methodaccording to claim 1 wherein the user device location information isobtained by applying a second type of distance estimation process thatdiffers from the first type of distance estimation process.
 3. Themethod according to claim 2 wherein the second type of distanceestimation process is based upon received signal strength indication(RSSI) measurements of beacons transmitted from the wireless tags of thesub-set of wireless tags; and wherein the first type of distanceestimation is based upon tome of flight measurements.
 4. The methodaccording to claim 1 wherein each wireless tag of the multiple wirelesstags has a unique identifier that is included in messages transmitted bythe wireless tag during the second type of second type of distanceestimation process.
 5. The method according to claim 1 comprising:receiving a map of the indoor space, the map is indicative of shapes andorientations of multiple objects within the indoor space to whichwireless tags are attached; determining spatial relationships betweenthe multiple wireless tags based upon the distance information; andcalculating the calibration information based upon similarities betweena shape and an orientation of at least one object and between spatialrelationships between objects that are attached to the at least oneobject.
 6. The method according to claim 1 wherein the multiple wirelesstags comprise at least one hundred wireless tags and wherein a distancebetween adjacent wireless tags positioned on a same side of an objectdoes not exceed 100 centimeters.
 7. The method according to claim 1wherein the first type of distance estimation process compriseswirelessly transmitting Bluetooth low energy messages between themultiple wireless tags.
 8. The method according to claim 1 wherein thefirst type of distance estimation process comprises wirelesslytransmitting wideband and narrowband messages between the multiplewireless tags.
 9. The method according to claim 1 comprisingtransmitting to the user device messages in response to the location ofthe user device.
 10. A non-transitory computer readable medium thatstores instructions that when executed by a computer cause the computerto execute the stages of: receiving by a computer, distance informationabout distances between multiple wireless tags that are positionedwithin an indoor space; wherein the distance information is obtained bythe multiple wireless tags during a first type of distance estimationprocess that comprises wirelessly transmitting messages between themultiple wireless tags; determining locations of the wireless tags inthe indoor space in response to the distance information and tocalibration information indicative of an actual or estimated location ofat least one wireless tag in the indoor space; receiving, from a userdevice, user device location information related to a location of theuser device in relation to a sub-set of the wireless tags; determining alocation of the user device within the indoor space in response to theuser device location information and to locations of the wireless tagsof the sub-set of wireless tags in the indoor space.
 11. Thenon-transitory computer readable medium according to claim 10 whereinthe user device location information is obtained by applying a secondtype of distance estimation process that differs from the first type ofdistance estimation process.
 12. The non-transitory computer readablemedium according to claim 11 wherein the second type of distanceestimation process is based upon received signal strength indication(RSSI) measurements of beacons transmitted from the wireless tags of thesub-set of wireless tags; and wherein the first type of distanceestimation is based upon tome of flight measurements.
 13. Thenon-transitory computer readable medium according to claim 11 whereineach wireless tag of the multiple wireless tags has a unique identifierthat is included in messages transmitted by the wireless tag during thesecond type of second type of distance estimation process.
 14. Thenon-transitory computer readable medium according to claim 11 thatstores instructions for receiving a map of the indoor space, the map isindicative of shapes and orientations of multiple objects within theindoor space to which wireless tags are attached; determining spatialrelationships between the multiple wireless tags based upon the distanceinformation; and calculating the calibration information based uponsimilarities between a shape and an orientation of at least one objectand between spatial relationships between objects that are attached tothe at least one object.
 15. The non-transitory computer readable mediumaccording to claim 11 wherein the multiple wireless tags comprise atleast one hundred wireless tags and wherein a distance between adjacentwireless tags positioned on a same side of an object does not exceed 100centimeters.
 16. The non-transitory computer readable medium accordingto claim 11 wherein the first type of distance estimation processcomprises wirelessly transmitting Bluetooth low energy messages betweenthe multiple wireless tags.
 17. The non-transitory computer readablemedium according to claim 11 wherein the first type of distanceestimation process comprises wirelessly transmitting wideband andnarrowband messages between the multiple wireless tags.
 18. Thenon-transitory computer readable medium according to claim 11 thatstores instructions that when executed by the computer will cause thecomputer to transmit to the user device messages in response to thelocation of the user device.
 19. A device comprising an interface and aprocessor; wherein the interface is arranged to receive distanceinformation about distances between multiple wireless tags that arepositioned within the indoor space; wherein the distance information isobtained by the multiple wireless tags during a first type of distanceestimation process that comprises wirelessly transmitting messagesbetween the multiple wireless tags; wherein the processor is arranged todetermine locations of the wireless tags in the indoor space in responseto the distance information and to calibration information indicative ofan actual or estimated location of at least one wireless tag in theindoor space; wherein the interface is arranged to receive, from a userdevice, user device location information related to a location of theuser device in relation to a sub-set of the wireless tags; and whereinthe processor is arranged to determine a location of the user devicewithin the indoor space in response to the user device locationinformation and to locations of the wireless tags of the sub-set ofwireless tags in the indoor space.